Get to know MDN better
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The Date.UTC() static method accepts parameters representing the date and time components similar to the Date constructor, but treats them as UTC. It returns the number of milliseconds since January 1, 1970, 00:00:00 UTC.
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.
monthIndex OptionalInteger value representing the month, beginning with 0 for January to 11 for December. Defaults to 0.
day OptionalInteger value representing the day of the month. Defaults to 1.
hours OptionalInteger value between 0 and 23 representing the hour of the day. Defaults to 0.
minutes OptionalInteger value representing the minute segment of a time. Defaults to 0.
seconds OptionalInteger value representing the second segment of a time. Defaults to 0.
milliseconds OptionalInteger value representing the millisecond segment of a time. Defaults to 0.
A number representing the timestamp of the given date. Returns NaN if the date is invalid.
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 three ways:
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 monthIndex, 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.
The following statement creates a Date object with the arguments treated as UTC instead of local:
Date.UTC() when passed one argument used to have inconsistent behavior, because implementations only kept the behavior consistent with the Date() constructor, which does not interpret a single argument as the year number. Implementations are now required to treat omitted monthIndex as 0, instead of coercing it to NaN.
| ECMAScript® 2027 Language Specification # sec-date.utc |
Enable JavaScript to view this browser compatibility table.
This page was last modified on Jul 10, 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.