JS: Date Tutorial
First, here's a quick usage example:
// create a date instance of current date time const dd = new Date(); const hh = dd.getHours(); const mm = dd.getMinutes(); const ss = dd.getSeconds(); console.log( hh + ":" + mm + ":" + ss ); // 8:15:51 console.log( dd.getFullYear() ); // 2020 console.log( dd.getDate() ); // 6 // first day of month is 1 console.log( dd.getMonth() ); // 8 // warning: Jan is 0, Feb is 1, etc console.log( dd.getDay() ); // 0 // Sunday is 0. Saturday is 6
Creating Date Object
Static Methods
Date()
-
Return a string that represents the datetime this code is evaluated. Any arguments are ignored. Sample return value:
Sun Sep 06 2020 08:19:41 GMT-0700 (Pacific Daylight Time)
Date.now()
-
Return the millisecond representation of date when this code is called. Same as
(new Date()).getTime()
. Sample return value:1428601360919
. Date.parse(DateTimeStr)
- Parse a date time string, return the millisecond representation of that date. 〔see Date.parse〕
Date.UTC(…)
-
Return a date object. The arguments are the same as
new Date()
, but interprets them as UTC.
For full detail, see: Date Object
Date Object Get Methods
Most date get methods have 2 versions. One returns local time info, one returns UTC time info. e.g. getHours()
vs getUTCHours()
.
// example of using Date get methods const dt = new Date("2017-06-13T21:00:01.000Z"); console.log( dt.getFullYear() ); // 2017 console.log( dt.getUTCMonth() ); // 5 console.log( dt.getUTCDate() ); // 13 console.log( dt.getUTCDay() ); // 2 (Tuesday) console.log( dt.getUTCHours() ); // 21 console.log( dt.getUTCMinutes() ); // 0 console.log( dt.getUTCSeconds() ); // 1 console.log( dt.getFullYear() ); // 2017 console.log( dt.getMonth() ); // 5 console.log( dt.getDate() ); // 13 console.log( dt.getDay() ); // 2 (Tuesday) console.log( dt.getHours() ); // 14 console.log( dt.getMinutes() ); // 0 console.log( dt.getSeconds() ); // 1
Use date.getTime()
to get milliseconds.
const d = new Date(); console.log( d. getTime() ); // 1485919031443
Use toString()
to get a string representation.
const d = new Date(); // local console.log( d.toString() ); // Tue Jan 31 2017 19:19:22 GMT-0800 (PST) // GMT console.log( d.toUTCString() ); // Wed, 01 Feb 2017 03:19:47 GMT
〔see Date.prototype〕
Date Object Set Methods
You can also set a date object's year, month, or any of the parts. Here's a example of setting the minutes part.
const d = new Date("2017-04-08T06:00:10.000Z"); console.log( d ); // 2017-04-08T06:00:10.000Z d.setMinutes(30); console.log( d ); // 2017-04-08T06:30:10.000Z
For full list of set methods, see Date.prototype
What is the difference between UTC and GMT?
For practical purposes, they are the same.
UTC (Coordinated Universal Time) is a time standard based on atomic clock.
GMT (Greenwich Mean Time) is a older time standard.
“Zulu time” is a term used in military and is the same as GMT. (GMT and UTC has a abbrev of Z, because Z is like zero. Z in NATO phonetic alphabet is read as Zulu. That's why GMT/UTC is also Zulu time. )