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.
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]]]]])
year
month
0
(January) and 11
(December) representing the month. (Up through ECMAScript 2016, month
was a required parameter. As of ES2017, it no longer is.)
day
Optional
1
and 31
representing the day of the month. If omitted, defaults to 1
.hour
Optional
0
and 23
representing the hours. If omitted, defaults to 0
.minute
Optional
0
and 59
representing the minutes. If omitted, defaults to 0
.second
Optional
0
and 59
representing the seconds. If omitted, defaults to 0
.millisecond
Optional
0
and 999
representing the milliseconds. If omitted, defaults to 0
.A number representing the number of milliseconds for the given date since January 1, 1970, 00:00:00, UTC.
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 a Date
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.
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));
Desktop | ||||||
---|---|---|---|---|---|---|
UTC |
1 | 12 | 1 | 3 | 3 | 1 |
Mobile | ||||||
---|---|---|---|---|---|---|
UTC |
1 | 18 | 4 | 10.1 | 1 | 1.0 |
Server | |
---|---|
UTC |
0.1.100 |
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
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC