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.
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.
Date.UTC(year) Date.UTC(year, month) Date.UTC(year, month, day) Date.UTC(year, month, day, hour) Date.UTC(year, month, day, hour, minute) Date.UTC(year, month, day, hour, minute, second) Date.UTC(year, month, day, hour, minute, second, millisecond)
year
Integer value representing the year.
Values from 0
to 99
map to the years 1900
to 1999
. All other values are the actual year. See the example.
month
Optional
An integer between 0
(January) and 11
(December) representing the month. Since ECMAScript 2017 it defaults to 0
if omitted. (Up until ECMAScript 2016, month
was a required parameter. As of ES2017, it no longer is.)
day
Optional
An integer between 1
and 31
representing the day of the month. If omitted, defaults to 1
.
hour
Optional
An integer between 0
and 23
representing the hours. If omitted, defaults to 0
.
minute
Optional
An integer between 0
and 59
representing the minutes. If omitted, defaults to 0
.
second
Optional
An integer between 0
and 59
representing the seconds. If omitted, defaults to 0
.
millisecond
Optional
An integer between 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:
const utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0));
Specification |
---|
ECMAScript Language Specification # sec-date.utc |
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | Deno | Node.js | |
UTC |
1 |
12 |
1 |
3 |
3 |
1 |
4.4 |
18 |
4 |
10.1 |
1 |
1.0 |
1.0 |
0.10.0 |
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–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC