Understanding Date and Time in JavaScript


Date and time are a part that is regular of everyday lives and therefore feature prominently in computer programming. A train schedule, or an interface to set up appointments in JavaScript, you might have to create a website with a calendar. These applications have to show times that are relevant on the user’s current timezone, or perform calculations around arrivals and departures or start and end times. Additionally, you might need to use JavaScript to generate a report at a time that is certain time, or filter through presently available restaurants and establishments.

To attain many of these goals and much more, JavaScript includes the built-in Date item and associated techniques. This guide goes over just how to format and make use of time and date in JavaScript.

The Date Object

The Date item is an integral item in JavaScript that shops the date and time. It gives a true number of integrated options for formatting and handling that information.

By standard, a fresh Date example without arguments supplied produces an item matching to your date that is current time. This will be created according to the computer that is current system settings.

To show JavaScript’s Date, let us produce an adjustable and designate the date that is current it. This article is being written on Wednesday, October 18th in London (GMT), so that is the date that is current time, and timezone that’s represented below.


// Set adjustable to date that is current time
const now = Date( that is new)

// View the production


Wed Oct 18 2017 12:41:34 GMT+0000 (UTC)

Looking at production, we’ve a night out together sequence containing the ( that is following*****)

Day of the( week******************)

Month Day Year Hour Minute Second Timezone
Wed Oct 18 2017 12 41 34 GMT+0000 (UTC)

The date and time is separated and printed in a fashion that we are able to realize as people.

JavaScript, but knows the date predicated on a timestamp produced by Unix time, which will be a value comprising the amount of milliseconds which have passed away since midnight on 1st, 1970 january. We can get the timestamp with the******)getTime( that is( technique.

// obtain the timestamp that is current



The high number that seems inside our production the present timestamp represents similar value as above, October 18th, 2017.

Epoch time, generally known as zero time, is represented by the date sequence 01 January, 1970 00:00:00 Universal Time (UTC), by the 0 timestamp. We could try out this within the web browser by producing a fresh adjustable and assigning to it a fresh Date example predicated on a timestamp of 0.


// Assign the timestamp 0 to a fresh adjustable
const epochTime = brand new Date(0);



01 January, 1970 00:00:00 Universal Time (UTC)

Epoch time had been selected as a regular for computer systems determine time by in early in the day times of development, and it’s also the strategy that JavaScript uses. It’s important to realize the idea of the timestamp as well as the date sequence, as both can be utilized with respect to the settings and intent behind a credit card applicatoin.

So far, we discovered just how to produce a fresh Date example on the basis of the present time, and exactly how to produce one predicated on a timestamp. Altogether, you will find four platforms where you are able to produce a fresh Date in JavaScript. As well as the time that is current and timestamp, you may also utilize a night out together sequence, or specify specific times and times.

Date Production Output
new Date() Current date and time
new Date(timestamp) Creates date predicated on milliseconds since Epoch time
new Date(date sequence) Creates date predicated on date sequence
new Date(year, thirty days, time, hours, moments, moments, milliseconds) Creates date predicated on specified date and time

To show different how to relate to a date that is specific we will produce brand new Date items that may express July 4th, 1776 at 12:30pm GMT in three various ways.


// Timestamp technique
brand new Date(-6106015800000);

// Date sequence technique
brand new Date("January 31 1980 12:30");

// Date and time technique
brand new Date(1776, 6, 4, 12, 30, 0, 0);

The three examples most importantly create a night out together containing the information that is same

You’ll spot the timestamp technique has a number that is negative any date just before Epoch time will likely be represented as a poor quantity.

In the date and time technique, our moments and milliseconds are set to 0. If any true number is missing from the Date creation, it will default to 0. However, the order cannot be changed, so keep that in mind if you decide to leave a number off. It’s also possible to realize that the of July is represented by 6, not the usual 7 month. This is because the time and date figures begin with 0, since many counting in development does. Begin to see the section that is next a more detail by detail chart.

Retrieving the Date with get

Once we’ve a night out together, we are able to access most of the the different parts of the date with different methods that are built-in. The methods will return each part of the date relative to the timezone that is local. All these techniques begins with get, and can get back the number that is relative. Below is reveal dining table of this get types of the Date item.

Date/Time Method Range Example
Year getFullYear() YYYY 1970
Month getMonth() 0-11 0 = January
Day (of the)( month***********************)

getDate() 1-31 1 = 1st of the( month***********************)
Day (of the)( week***********************)

getDay() 0-6 0 = Sunday
Hour getHours() 0-23 0 = midnight
Minute getMinutes() 0-59
Second getSeconds() 0-59
Millisecond getMilliseconds() 0-999
Timestamp getTime() Milliseconds since Epoch time

Let’s make a date that is new predicated on July 31, 1980, and designate it to an adjustable.


// Initialize a birthday instance that is new
const birthday celebration = Date( that is new(, 6, 31);

Now we are able to utilize all our ways to get each date component, from to millisecond.( year*****)


birthday celebration.getFullYear();      // 1980
birthday celebration.getMonth();         // 6
birthday celebration.getDate();          // 31
birthday celebration.getDay();           // 4
birthday celebration.getHours();         // 0
birthday celebration.getMinutes();       // 0
birthday celebration.getSeconds();       // 0
birthday celebration.getMilliseconds();  // 0
birthday celebration.getTime();          // 333849600000 (for GMT)

Sometimes it may possibly be essential to draw out just element of a night out together, as well as the integrated get techniques will be the device you may used to accomplish that.

For a typical example of this, we are able to test the date that is current your day and thirty days of October third to see be it October third or otherwise not.


// Get today's date
const today = Date( that is new)

// Compare with October 3rd today
if (today.getDate() === 3 && today.getMonth() === 9) {
  system.log("It's October 3rd.");
} else {
  system.log("It's not October 3rd.");


It's maybe not 3rd october.

Since, during writing, it isn’t 3rd, the console reflects that.( october*****)

The integrated Date techniques that start with get let us access date elements that get back the amount related to that which we are retrieving through the object that is instantiated

Modifying the Date with set

For most of the get techniques that individuals discovered above, there is certainly a matching set technique. In which get can be used to recover a component that is specific a date, set can be used to change the different parts of a night out together. Below is reveal chart of this set types of the Date item.

Date/Time Method Range Example
Year setFullYear() YYYY 1970
Month setMonth() 0-11 0 = January
Day (of the)( month***********************)

setDate() 1-31 1 = 1st of the( month***********************)
Day (of the)( week***********************)

setDay() 0-6 0 = Sunday
Hour setHours() 0-23 0 = midnight
Minute setMinutes() 0-59
Second setSeconds() 0-59
Millisecond setMilliseconds() 0-999
Timestamp setTime() Milliseconds since Epoch time

We may use these set ways to alter one, more, or all the the different parts of a night out together. For instance, we are able to replace the of our birthday variable from above to be 1997 instead of 1980.( year*****)


// Change of birthday date year
birthday celebration.setFullYear(1997);

birthday celebration;


Thu Jul 31 1997 00:00:00 GMT+0000 (UTC)

We see within the instance above that whenever we call the birthday variable we get the year that is new the main production.

The integrated techniques starting with set why don’t we alter some other part of a Date item.

Date Practices with UTC

The get techniques talked about above retrieve the date elements on the basis of the individual’s regional timezone settings. For increased control of the times and times, you should use the getUTC techniques, that are the identical since the get techniques, except they determine the right time on the basis of the UTC (Coordinated Universal Time) standard. Below is a table of this UTC options for the JavaScript Date item.

Date/Time Method Range Example
Year getUTCFullYear() YYYY 1970
Month getUTCMonth() 0-11 0 = January
Day (of the)( month***********************)

getUTCDate() 1-31 1 = 1st of the( month***********************)
Day (of the)( week***********************)

getUTCDay() 0-6 0 = Sunday
Hour getUTCHours() 0-23 0 = midnight
Minute getUTCMinutes() 0-59
Second getUTCSeconds() 0-59
Millisecond getUTCMilliseconds() 0-999

To test the essential difference between regional and UTC get techniques, we are able to run the code that is following


// Assign present time and energy to an adjustable
const now = Date( that is new)

// Print regional and UTC timezones

Running this rule will print from hour that is current and the hour of the UTC timezone. The numbers that are output from running the program above will be the same.( if you are currently in the UTC timezone*****)

UTC pays to in you are developing.( that it provides an international time standard reference and can therefore keep your code consistent across timezones if that is applicable to what*****)


In this guide, we discovered just how to produce an example of this Date item, and make use of its integrated ways to access and alter the different parts of a date that is specific. For a more view that is in-depth of and times in JavaScript, you are able to see the Date guide on Mozilla Developer system.

Knowing just how to make use of times is vital for most typical tasks in JavaScript, as this could allow you to do several things from starting a report that is repeating showing times and schedules within the proper time area.

Linux good and renice Command Tutorial (7 Examples)

Previous article

Chrome on Windows ditches Microsoft’s compiler, now makes use of Clang

Next article

You may also like


Leave a Reply