Date.UTC()

The Date.UTC() method accepts the same parameters as the longest form of the constructor, and returns the number of milliseconds in a Date object since January 1, 1970, 00:00:00, universal time.

Syntax

Date.UTC(year, month[, day[, hour[, minute[, second[, millisecond]]]]])

Parameters

year
A year after 1900.
month
An integer between 0 and 11 representing the month.
day
Optional. An integer between 1 and 31 representing the day of the month.
hour
Optional. An integer between 0 and 23 representing the hours.
minute
Optional. An integer between 0 and 59 representing the minutes.
second
Optional. An integer between 0 and 59 representing the seconds.
millisecond
Optional. An integer between 0 and 999 representing the milliseconds.

Return value

A number representing the number of milliseconds in the given Date object since January 1, 1970, 00:00:00, universal time.

Description

UTC() takes comma-delimited date parameters and returns the number of milliseconds between January 1, 1970, 00:00:00, universal time and the time you specified.

You should specify a full year for the year; for example, 1998. If a year between 0 and 99 is specified, the method converts the year to a year in the 20th century (1900 + year); for example, if you specify 95, the year 1995 is used.

The UTC() method differs from the Date constructor in two ways.

  • Date.UTC() uses universal time instead of the local time.
  • Date.UTC() returns a time value as a number instead of creating a Date object.

If a parameter you specify is outside of the expected range, the UTC() method updates the other parameters to allow for your number. For example, if you use 15 for month, the year will be incremented by 1 (year + 1), and 3 will be used for the month.

Because UTC() is a static method of Date, you always use it as Date.UTC(), rather than as a method of a Date object you created.

Examples

Using Date.UTC()

The following statement creates a Date object using UTC instead of local time:

var utcDate = new Date(Date.UTC(96, 11, 1, 0, 0, 0));

Specifications

Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
The definition of 'Date.UTC' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Date.UTC' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'Date.UTC' in that specification.
Standard  
ECMAScript 1st Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.0.

Browser compatibility

FeatureChromeFirefoxEdgeInternet ExplorerOperaSafari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

Compatibility notes

Date.UTC with fewer than two arguments

When providing less than two arguments to Date.UTC, NaN is returned. This behavior is specified in ECMAScript 2017. Engines who weren't supporting this behavior, have been updated (see bug 1050755, ecma-262 #642).

Date.UTC();
Date.UTC(1);
// Safari: NaN 
// Chrome/Opera/V8: NaN
// Firefox <54: non-NaN
// Firefox 54+: NaN
// IE: non-NaN
// Edge: NaN

See also

Document Tags and Contributors

 Last updated by: fscholz,