JavaScript Date Objects enable manipulation and representation of dates.
April 27, 2024, 6:11:25 PM (GMT+10:00 Australian Eastern Standard Time)
Example
| const d = new Date(); |
| const d = new Date(“2022-03-25”); |
|
Note: Date objects are static; they do not update in real-time like a clock. While the computer’s clock is continuously ticking, date objects remain fixed unless explicitly changed. |
JavaScript typically utilizes the browser’s time zone settings and presents dates as comprehensive text strings, such as:
Saturday, April 27, 2024, 6:11:25 PM GMT+10:00 (Australian Eastern Standard Time)
Date objects are generated using the new Date() constructor, offering 9 different methods for creating a new date object
| new Date() new Date(date string) new Date(year,month) new Date(year,month,day) new Date(year,month,day,hours) new Date(year,month,day,hours,minutes) new Date(year,month,day,hours,minutes,seconds) new Date(year,month,day,hours,minutes,seconds,ms) new Date(milliseconds) |
Using new Date() generates a date object representing the current date and time.
Example
| const d = new Date(); |
The new Date(date string) constructor creates a date object based on a provided date string.
Examples
| const d = new Date(“October 13, 2014 11:13:00”); |
| const d = new Date(“2022-03-25”); |
The new Date(year, month, …) constructor generates a date object with a defined date and time.
Seven numerical parameters represent the year, month, day, hour, minute, second, and millisecond (in that order).
Example
| const d = new Date(2018, 11, 24, 10, 33, 30, 0); |
|
Note: That in JavaScript, months are counted from 0 to 11, where January is represented as 0 and December as 11. |
If you specify a month higher than 11, JavaScript will not throw an error; instead, it will add the overflow to the next year.
Indicating:
| const d = new Date(2018, 15, 24, 10, 33, 30); |
Has the same effect as:
| const d = new Date(2019, 3, 24, 10, 33, 30); |
If you specify a day higher than the maximum for that month, it will overflow into the next month without causing an error.
Defining:
| const d = new Date(2018, 5, 35, 10, 33, 30); |
Has the same effect as:
| const d = new Date(2018, 6, 5, 10, 33, 30); |
Six digits indicate the year, month, day, hour, minute, and second.
Example
| const d = new Date(2018, 11, 24, 10, 33, 30); |
Five digits denote the year, month, day, hour, and minute.
Example
| const d = new Date(2018, 11, 24, 10, 33); |
Four digits represent the year, month, day, and hour.
Example
| const d = new Date(2018, 11, 24, 10); |
Three digits represent the year, month, and day.
Example
| const d = new Date(2018, 11, 24); |
Two digits represent the year and month.
Example
| const d = new Date(2018, 11); |
If you provide only one parameter, it will be interpreted as milliseconds, so you can’t omit the month.
Example
| const d = new Date(2018); |
Years specified with one or two digits will be interpreted as the 20th century (19xx).
Example
| const d = new Date(99, 11, 24); |
Example
| const d = new Date(9, 11, 24); |
|
JavaScript Stores Dates as Milliseconds JavaScript stores dates as the number of milliseconds elapsed since January 1, 1970. The zero time reference is January 1, 1970, 00:00:00 UTC. A single day, equivalent to 24 hours, amounts to 86,400,000 milliseconds. As of now, the time is represented by 1719031847807 milliseconds elapsed since January 1, 1970. |
new Date(milliseconds)
Using new Date(milliseconds) creates a new date object with the specified number of milliseconds added to the zero time reference.
Example
Adding 100,000,000,000 milliseconds to January 1, 1970, results in:
| const d = new Date(100000000000); |
Subtracting 100,000,000,000 milliseconds from January 1, 1970, results in:
| const d = new Date(-100000000000); |
Adding 24 hours to January 1, 1970, results in:
| const d = new Date(24 * 60 * 60 * 1000); // or const d = new Date(86400000); |
January 1, 1970 plus 0 milliseconds is:
| const d = new Date(0); |
Date methods facilitate operations on date objects, enabling you to retrieve and modify various components such as the year, month, day, hour, minute, second, and millisecond. These operations can be performed in either local time or Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT).
The upcoming chapters will delve into Date methods and their interaction with time zones.
By default, JavaScript will display dates using the toString() method, providing a string representation that includes the time zone. The format adheres to the specifications outlined in the ECMAScript standard.
Example
| Sat Apr 27 2024 18:11:25 GMT+1000 (Australian Eastern Standard Time) |
When a date object is displayed in HTML, it is automatically converted to a string using the toString() method.
Example
| const d = new Date(); d.toString(); |
The toDateString() method converts a date into a more human-readable format.
Example
| const d = new Date(); d.toDateString(); |
The toUTCString() method converts a date into a string representation using the UTC standard.
Example
| const d = new Date(); d.toUTCString(); |
The toISOString() method converts a date into a string representation using the ISO standard.
Example
| const d = new Date(); d.toISOString(); |