Date
The Date
constructor can be used with several types of input:
You can pass values for year, month, date of the month, hour, minute, second, and millisecond, like so:
> new Date(2015, 0, 1, 13, 30, 35, 505);
Thu Jan 01 2015 13:30:35 GMT-0800 (PST)
You can skip any of the input parameters, in which case they are assumed to be 0. Note that month values are from 0 (January) to 11 (December), hours are from 0 to 23, minutes and seconds 0 to 59, and milliseconds 0 to 999.
You can pass a timestamp:
> new Date(1420147835505); Thu Jan 01 2015 13:30:35 GMT-0800 (PST)
If you don't pass anything, the current date/time is assumed:
> new Date(); Fri Jan 11 2013 12:20:45 GMT-0800 (PST)
If you pass a string, it's parsed in an attempt to extract a possible date value:
> new Date('May 4, 2015'); Mon May 04 2015 00:00:00 GMT-0700 (PDT)
Omitting new
gives you a string version of the current date:
> Date() === new Date().toString();
true
Members of the Date constructor
Property/method |
Description |
---|---|
|
Similar to passing a string to new > Date.parse('May 5, 2015'); 1430809200000 > Date.parse('4th'); NaN |
|
Returns a timestamp but in UTC (Coordinated Universal Time), not in local time. > Date.UTC(2015, 0, 1, 13, 30, 35, 505);
1420119035505
|
The Date.prototype members
Property/method |
Description/example |
---|---|
|
Same as > var d = new Date(2015, 0, 1); > d.toString(); "Thu Jan 01 2015 00:00:00 GMT-0800 (PST)" > d.toUTCString(); "Thu, 01 Jan 2015 08:00:00 GMT" |
|
Returns only the date portion of > new Date(2015, 0, 1).toDateString();
"Thu Jan 01 2010"
|
|
Returns only the time portion of > new Date(2015, 0, 1).toTimeString();
"00:00:00 GMT-0800 (PST)"
|
|
Equivalent to > new Date(2015, 0, 1).toString(); "Thu Jan 01 2015 00:00:00 GMT-0800 (PST)" > new Date(2015, 0, 1).toLocaleString(); "1/1/2015 12:00:00 AM" |
|
Get or set the time (using a timestamp) of a date object. The following example creates a date and moves it one day forward: > var d = new Date(2015, 0, 1); > d.getTime(); 1420099200000 > d.setTime(d.getTime()+ 1000 * 60 * 60 * 24); 1420185600000 > d.toLocaleString(); "Fri Jan 02 2015 00:00:00 GMT-0800 (PST)" |
|
Get or set a full year using local or UTC time. There is also > var d = new Date(2015, 0, 1); > d.getYear(); 115 > d.getFullYear(); 2015 > d.setFullYear(2020); 1577865600000 > d; Wed Jan 01 2020 00:00:00 GMT-0800 (PST) |
|
Get or set the month, starting from 0 (January): > var d = new Date(2015, 0, 1); > d.getMonth(); 0 > d.setMonth(11); 1448956800000 > d.toLocaleDateString(); "12/1/2015" |
|
Get or set the date of the month. > var d = new Date(2015, 0, 1); > d.toLocaleDateString(); "1/1/2015" > d.getDate(); 1 > d.setDate(31); 1422691200000 > d.toLocaleDateString(); "1/31/2015" |
|
Get or set the hour, minutes, seconds, milliseconds, all starting from 0. > var d = new Date(2015, 0, 1); > d.getHours() + ':' + d.getMinutes(); "0:0" > d.setMinutes(59); 1420102740000 > d.getHours() + ':' + d.getMinutes(); "0:59" |
|
Returns the difference between local and universal (UTC) time, measured in minutes. For example, the difference between PST (Pacific Standard Time) and UTC: > new Date().getTimezoneOffset(); 480 > 420 / 60; // hours 8 |
|
Returns the day of the week, starting from 0 (Sunday): > var d = new Date(2015, 0, 1); > d.toDateString(); "Thu Jan 01 2015" > d.getDay(); 4 > var d = new Date(2015, 0, 4); > d.toDateString(); "Sat Jan 04 2015" > d.getDay(); 0 |
ECMAScript 5 additions to Date
Property/method |
Description |
---|---|
|
A convenient way to get the current timestamp: > Date.now() === new Date().getTime();
true
|
|
Yet another toString(). > var d = new Date(2015, 0, 1); > d.toString(); "Thu Jan 01 2015 00:00:00 GMT-0800 (PST)" > d.toUTCString(); "Thu, 01 Jan 2015 08:00:00 GMT" > d.toISOString(); "2015-01-01T00:00:00.000Z" |
|
Used by JSON.stringify() (refer to the end of this appendix) and returns the same as toISOString(). > var d = new Date();
> d.toJSON() === d.toISOString();
true
|