The Date.UTC()
method accepts parameters similar to the Date
constructor, but treats them as UTC. It returns the number of milliseconds since January 1, 1970, 00:00:00 UTC.
Syntax
Since ECMAScript 2017:
Date.UTC(year[, month[, day[, hour[, minute[, second[, millisecond]]]]]])
ECMAScript 2016 and earlier: (month
used to be required)
Date.UTC(year, month[, day[, hour[, minute[, second[, millisecond]]]]])
Parameters
year
- A full year.
month
- An integer between
0
(January) and11
(December) representing the month. (Up through ECMAScript 2016,month
was a required parameter. As of ES2017, it no longer is.) day
Optional- An integer between
1
and31
representing the day of the month. If omitted, defaults to1
. hour
Optional- An integer between
0
and23
representing the hours. If omitted, defaults to0
. minute
Optional- An integer between
0
and59
representing the minutes. If omitted, defaults to0
. second
Optional- An integer between
0
and59
representing the seconds. If omitted, defaults to0
. millisecond
Optional- An integer between
0
and999
representing the milliseconds. If omitted, defaults to0
.
Return value
A number representing the number of milliseconds for the given date since January 1, 1970, 00:00:00, UTC.
Description
UTC()
takes comma-delimited date and time parameters and returns the number of milliseconds between January 1, 1970, 00:00:00, universal time and the specified date and time.
Years between 0
and 99
are converted to a year in the 20th century (1900 + year)
. For example, 95
is converted to the year 1995
.
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 aDate
object.
If a parameter is outside of the expected range, the UTC()
method updates the other parameters to accommodate the value. For example, if 15
is used for month
, the year will be incremented by 1 (year + 1)
and 3
will be used for the month.
UTC()
is a static method of Date
, so it's called as Date.UTC()
rather than as a method of a Date
instance.
Examples
Using Date.UTC()
The following statement creates a Date
object with the arguments treated as UTC instead of local:
let utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0));
Specifications
Specification |
---|
ECMAScript (ECMA-262) The definition of 'Date.UTC' in that specification. |
Browser compatibility
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UTC | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support 3 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 | nodejs Full support 0.1.100 |
Legend
- Full support
- Full support
Compatibility notes
Date.UTC() with fewer than two arguments
When providing less than two arguments to Date.UTC()
, ECMAScript 2017 requires that NaN
is returned. Engines that 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