Sara
Sara

Reputation: 14618

How to get current date in jQuery?

I want to know how to use the Date() function in jQuery to get the current date in a yyyy/mm/dd format.

Upvotes: 212

Views: 1010199

Answers (30)

Dan
Dan

Reputation: 1288

This one-liner will give you YYYY-MM-DD:

new Date().toISOString().substr(0, 10)

'2022-06-09'

Upvotes: 1

Hajoui Ghezlene
Hajoui Ghezlene

Reputation: 1

var today = new Date();
var tday= 
today.getFullYear() + '/' + (

today.getMonth() < 9 ? '0' : ''
) + (today.getMonth() + 1) + '/' + (
today.getDate() < 10 ? '0' : ''
) + today.getDate() ; 

console.log(tday);

Upvotes: 0

bernte
bernte

Reputation: 1184

you can use this code:

var nowDate     = new Date();
var nowDay      = ((nowDate.getDate().toString().length) == 1) ? '0'+(nowDate.getDate()) : (nowDate.getDate());
var nowMonth    = ((nowDate.getMonth().toString().length) == 1) ? '0'+(nowDate.getMonth()+1) : (nowDate.getMonth()+1);
var nowYear     = nowDate.getFullYear();
var formatDate  = nowDay + "." + nowMonth + "." + nowYear;

you can find a working demo here

Upvotes: 4

Gaurav Agrawal
Gaurav Agrawal

Reputation: 4431

Try this....

var d = new Date();
alert(d.getFullYear()+'/'+(d.getMonth()+1)+'/'+d.getDate());

getMonth() return month 0 to 11 so we would like to add 1 for accurate month

Reference by : https://www.w3schools.com/jsref/jsref_obj_date.asp

Upvotes: 4

Vitalii Fedorenko
Vitalii Fedorenko

Reputation: 114420

Moment.js makes it quite easy:

moment().format("YYYY/MM/DD")

Upvotes: 9

Ivošš
Ivošš

Reputation: 1146

this object set zero, when element has only one symbol:

function addZero(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

This object set actual full time, hour and date:

function getActualFullDate() {
    var d = new Date();
    var day = addZero(d.getDate());
    var month = addZero(d.getMonth()+1);
    var year = addZero(d.getFullYear());
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return day + ". " + month + ". " + year + " (" + h + ":" + m + ")";
}

function getActualHour() {
    var d = new Date();
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return h + ":" + m + ":" + s;
}

function getActualDate() {
    var d = new Date();
    var day = addZero(d.getDate());
    var month = addZero(d.getMonth()+1);
    var year = addZero(d.getFullYear());
    return day + ". " + month + ". " + year;
}

HTML:

<span id='full'>a</span>
<br>
<span id='hour'>b</span>
<br>    
<span id='date'>c</span>

JQUERY VIEW:

$(document).ready(function(){
    $("#full").html(getActualFullDate());
    $("#hour").html(getActualHour());
    $("#date").html(getActualDate());
});

EXAMPLE

Upvotes: 8

No_Nick777
No_Nick777

Reputation: 141

See this.
The $.now() method is a shorthand for the number returned by the expression (new Date).getTime().

Upvotes: 10

fardjad
fardjad

Reputation: 20394

Since the question is tagged as jQuery:

If you are also using jQuery UI you can use $.datepicker.formatDate():

$.datepicker.formatDate('yy/mm/dd', new Date());

See this demo.

Upvotes: 15

Ghostman
Ghostman

Reputation: 6114

In JavaScript you can get the current date and time using the Date object;

var now = new Date();

This will get the local client machine time

Example for jquery LINK

If you are using jQuery DatePicker you can apply it on any textfield like this:

$( "#datepicker" ).datepicker({dateFormat:"yy/mm/dd"}).datepicker("setDate",new Date());

Upvotes: 24

Tadeck
Tadeck

Reputation: 137310

Date() is not part of jQuery, it is one of JavaScript's features.

See the documentation on Date object.

You can do it like that:

var d = new Date();

var month = d.getMonth()+1;
var day = d.getDate();

var output = d.getFullYear() + '/' +
    (month<10 ? '0' : '') + month + '/' +
    (day<10 ? '0' : '') + day;

See this jsfiddle for a proof.

The code may look like a complex one, because it must deal with months & days being represented by numbers less than 10 (meaning the strings will have one char instead of two). See this jsfiddle for comparison.

Upvotes: 365

Usman Younas
Usman Younas

Reputation: 1379

function GetTodayDate() {
   var tdate = new Date();
   var dd = tdate.getDate(); //yields day
   var MM = tdate.getMonth(); //yields month
   var yyyy = tdate.getFullYear(); //yields year
   var currentDate= dd + "-" +( MM+1) + "-" + yyyy;

   return currentDate;
}

Very handy function to use it, Enjoy. You do not require any javascript framework. it just works in with plain javascript.

Upvotes: 21

Hasan Shouman
Hasan Shouman

Reputation: 2362

You can add an extension method to javascript.

Date.prototype.today = function () {
    return ((this.getDate() < 10) ? "0" : "") + this.getDate() + "/" + (((this.getMonth() + 1) < 10) ? "0" : "") + (this.getMonth() + 1) + "/" + this.getFullYear();
}

Upvotes: 1

newbdeveloper
newbdeveloper

Reputation: 394

I know I am Late But This Is All You Need

var date = (new Date()).toISOString().split('T')[0];

toISOString() use built function of javascript.

cd = (new Date()).toISOString().split('T')[0];
console.log(cd);
alert(cd);

Upvotes: 18

Sajeer Babu
Sajeer Babu

Reputation: 1313

This will give you current date string

var today = new Date().toISOString().split('T')[0];

Upvotes: 4

Kaushik shrimali
Kaushik shrimali

Reputation: 1228

function createDate() {
            var date    = new Date(),
                yr      = date.getFullYear(),
                month   = date.getMonth()+1,
                day     = date.getDate(),
                todayDate = yr + '-' + month + '-' + day;
            console.log("Today date is :" + todayDate);

Upvotes: 2

Max Wright
Max Wright

Reputation: 21

This is what I came up with using only jQuery. It's just a matter of putting the pieces together.

        //Gather date information from local system
        var ThisMonth = new Date().getMonth() + 1;
        var ThisDay = new Date().getDate();
        var ThisYear = new Date().getFullYear();
        var ThisDate = ThisMonth.toString() + "/" + ThisDay.toString() + "/" + ThisYear.toString();

        //Gather time information from local system
        var ThisHour = new Date().getHours();
        var ThisMinute = new Date().getMinutes();
        var ThisTime = ThisHour.toString() + ":" + ThisMinute.toString();

        //Concatenate date and time for date-time stamp
        var ThisDateTime = ThisDate  + " " + ThisTime;

Upvotes: 2

Aveg Patekar
Aveg Patekar

Reputation: 71

You can achieve this with moment.js as well. Include moment.js in your html.

<script src="moment.js"></script>

And use below code in script file to get formatted date.

moment(new Date(),"YYYY-MM-DD").utcOffset(0, true).format();

Upvotes: 6

Parth Jasani
Parth Jasani

Reputation: 2449

Here is method top get current Day, Year or Month

new Date().getDate()          // Get the day as a number (1-31)
new Date().getDay()           // Get the weekday as a number (0-6)
new Date().getFullYear()      // Get the four digit year (yyyy)
new Date().getHours()         // Get the hour (0-23)
new Date().getMilliseconds()  // Get the milliseconds (0-999)
new Date().getMinutes()       // Get the minutes (0-59)
new Date().getMonth()         // Get the month (0-11)
new Date().getSeconds()       // Get the seconds (0-59)
new Date().getTime()          // Get the time (milliseconds since January 1, 1970)

Upvotes: 11

Pierre
Pierre

Reputation: 19071

Using pure Javascript your can prototype your own YYYYMMDD format;

Date.prototype.yyyymmdd = function() {
  var yyyy = this.getFullYear().toString();
  var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
  var dd  = this.getDate().toString();
  return yyyy + "/" + (mm[1]?mm:"0"+mm[0]) + "/" + (dd[1]?dd:"0"+dd[0]); // padding
};

var date = new Date();
console.log( date.yyyymmdd() ); // Assuming you have an open console

Upvotes: 34

Filip
Filip

Reputation: 31

var d = new Date();

var today = d.getFullYear() + '/' + ('0'+(d.getMonth()+1)).slice(-2) + '/' + ('0'+d.getDate()).slice(-2);

Upvotes: 3

Sara
Sara

Reputation: 14618

If you have jQuery UI (needed for the datepicker), this would do the trick:

$.datepicker.formatDate('yy/mm/dd', new Date());

Upvotes: 138

Jaydeep Shil
Jaydeep Shil

Reputation: 1959

function returnCurrentDate() {
                var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1) ? '0' + (fullDate.getMonth() + 1) : (fullDate.getMonth() + 1);
                var twoDigitDate = ((fullDate.getDate().toString().length) == 1) ? '0' + (fullDate.getDate()) : (fullDate.getDate());
                var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
                return currentDate;
            }

Upvotes: -3

sridhar
sridhar

Reputation: 11

Get current Date format dd/mm/yyyy

Here is the code:

var fullDate = new Date();
var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1)? '0'+(fullDate.getMonth()+1) : (fullDate.getMonth()+1);
var twoDigitDate = ((fullDate.getDate().toString().length) == 1)? '0'+(fullDate.getDate()) : (fullDate.getDate());
var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
alert(currentDate);

Upvotes: 1

Justin Levene
Justin Levene

Reputation: 1677

Using the jQuery-ui datepicker, it has a handy date conversion routine built in so you can format dates:

var my_date_string = $.datepicker.formatDate( "yy-mm-dd",  new Date() );

Simple.

Upvotes: 2

mad_dog
mad_dog

Reputation: 158

FYI - getDay() will give you the day of the week... ie: if today is Thursday, it will return the number 4 (being the 4th day of the week).

To get a proper day of the month, use getDate().

My example below... (also a string padding function to give a leading 0 on single time elements. (eg: 10:4:34 => 10:04:35)

function strpad00(s)
{
    s = s + '';
    if (s.length === 1) s = '0'+s;
    return s;
}

var currentdate = new Date();
var datetime = currentdate.getDate() 
    + "/" + strpad00((currentdate.getMonth()+1)) 
    + "/" + currentdate.getFullYear() 
    + " @ " 
    + currentdate.getHours() + ":" 
    + strpad00(currentdate.getMinutes()) + ":" 
    + strpad00(currentdate.getSeconds());

Example output: 31/12/2013 @ 10:07:49
If using getDay(), the output would be 4/12/2013 @ 10:07:49

Upvotes: 4

Bullyen
Bullyen

Reputation: 808

I just wanted to share a timestamp prototype I made using Pierre's idea. Not enough points to comment :(

// US common date timestamp
Date.prototype.timestamp = function() {
  var yyyy = this.getFullYear().toString();
  var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
  var dd  = this.getDate().toString();
  var h = this.getHours().toString();
  var m = this.getMinutes().toString();
  var s = this.getSeconds().toString();

  return (mm[1]?mm:"0"+mm[0]) + "/" + (dd[1]?dd:"0"+dd[0]) + "/" + yyyy + " - " + ((h > 12) ? h-12 : h) + ":" + m + ":" + s;
};

d = new Date();

var timestamp = d.timestamp();
// 10/12/2013 - 2:04:19

Upvotes: 1

sunandak
sunandak

Reputation: 21

var d = new Date();
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getYear();
var today = (day<10?'0':'')+ day + '/' +(month<10?'0':'')+ month + '/' + year;
alert(today);

Upvotes: 1

Fawad Ghafoor
Fawad Ghafoor

Reputation: 6207

console.log($.datepicker.formatDate('yy/mm/dd', new Date()));

Upvotes: 2

panky sharma
panky sharma

Reputation: 2159

You can do this:

    var now = new Date();
    dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
     // Saturday, June 9th, 2007, 5:46:21 PM

OR Something like

    var dateObj = new Date();
    var month = dateObj.getUTCMonth();
    var day = dateObj.getUTCDate();
    var year = dateObj.getUTCFullYear();
    var newdate = month + "/" + day + "/" + year;
    alert(newdate);

Upvotes: 1

Connell
Connell

Reputation: 14411

jQuery is JavaScript. Use the Javascript Date Object.

var d = new Date();
var strDate = d.getFullYear() + "/" + (d.getMonth()+1) + "/" + d.getDate();

Upvotes: 52

Related Questions