By default, JavaScript will use the browser's time zone and display a date as a full text string:

Sat Jun 12 2021 13:39:02 GMT+0530 (India Standard Time)
 

Creating Date Objects

Date objects are created with the new Date() constructor.

There are 4 ways to create a new date object:

new Date()
new Date(year, month, day, hours, minutes, seconds, milliseconds)
new Date(milliseconds)
new Date(date string)
 

new Date()

new Date() creates a new date object with the current date and time:

Example

const d = new Date();
Date objects are static. The computer time is ticking, but date objects are not.

new Date(year, month, ...)

new Date(year, month, ...) creates a new date object with a specified date and time.

7 numbers specify year, month, day, hour, minute, second, and millisecond (in that order):

Example

const d = new Date(2018, 11, 24, 10, 33, 30, 0);
 

Note: JavaScript counts months from 0 to 11.

January is 0. December is 11.

6 numbers specify year, month, day, hour, minute, second:

Example

const d = new Date(2018, 11, 24, 10, 33, 30);
 

5 numbers specify year, month, day, hour, and minute:

Example

const d = new Date(2018, 11, 24, 10, 33);
 

4 numbers specify year, month, day, and hour:

Example

const d = new Date(2018, 11, 24, 10);
 

3 numbers specify year, month, and day:

Example

const d = new Date(2018, 11, 24);
 

2 numbers specify year and month:

Example

const d = new Date(2018, 11);
 

You cannot omit month. If you supply only one parameter it will be treated as milliseconds.

Example

const d = new Date(2018);
 

Previous Century

One and two digit years will be interpreted as 19xx:

Example

const d = new Date(99, 11, 24);
 

Example

const d = new Date(9, 11, 24);
 

new Date(dateString)

new Date(dateString) creates a new date object from a date string:

Example

const d = new Date("October 13, 2014 11:13:00");
 

JavaScript Stores Dates as Milliseconds

JavaScript stores dates as number of milliseconds since January 01, 1970, 00:00:00 UTC (Universal Time Coordinated).

Zero time is January 01, 1970 00:00:00 UTC.

Now the time is: 1623485342335 milliseconds past January 01, 1970


new Date(milliseconds)

new Date(milliseconds) creates a new date object as zero time plus milliseconds:

Example

const d = new Date(0);
 

01 January 1970 plus 100 000 000 000 milliseconds is approximately 03 March 1973:

Example

const d = new Date(100000000000);
 

January 01 1970 minus 100 000 000 000 milliseconds is approximately October 31 1966:

Example

const d = new Date(-100000000000);
 

Example

const d = new Date(86400000);

One day (24 hours) is 86 400 000 milliseconds.



Practice Excercise Practice now