Date.UTC()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Метод Date.UTC() принимает те же самые параметры, что и самая длинная форма конструктора Date и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.

Интерактивный пример

Синтаксис

Начиная с ECMAScript 2017:

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

ECMAScript 2016 и ранее: (использование month обязательно)

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

Параметры

year

Год, полностью.

month

Целое число между 0 и 11, представляющее месяц. (начиная с ES2017 необязательный параметр)

day Необязательный

Целое число между 1 и 31, представляющее дни месяца.

hour Необязательный

Целое число между 0 и 23, представляющее часы.

minute Необязательный

Целое число между 0 и 59, представляющее минуты.

second Необязательный

Целое число между 0 и 59, представляющее секунды.

millisecond Необязательный

Целое число между 0 и 999, представляющее миллисекунды.

Возвращаемое значение

Число, представляющее собой количество миллисекунд, прошедших с 1-ого Января 1970 года 00:00:00 UTC.

Описание

Метод UTC() принимает параметры даты, разделённые запятыми и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC и указанным вами временем.

Для параметра year вы должны указать полный год; например, 1998. Если указан год между 0 и 99, метод преобразует год в год в 20-м веке (1900 + year); например, если вы указали 95, будет использоваться 1995 год.

Метод UTC() отличается от конструктора Date двумя вещами.

  • Метод Date.UTC() использует всемирное время вместо местного времени.
  • Метод Date.UTC() возвращает значение времени как число вместо создания объекта Date.

Если определённый вами параметр выходит за пределы ожидаемого диапазона, метод UTC() обновит другие параметры чтобы привести это число в ожидаемый диапазон. Например, если вы используете в качестве месяца число 15, год будет увеличен на 1 (year + 1), и в качестве месяца будет использоваться значение 3.

Поскольку метод UTC() является статическим методом объекта Date, вы всегда должны использовать его как Date.UTC().

Примеры

Пример: использование Date.UTC()

Следующее выражение создаёт объект Date, используя всемирное время вместо местного:

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

Спецификации

Specification
ECMAScript Language Specification
# sec-date.utc

Совместимость с браузерами

BCD tables only load in the browser

Примечание о совместимости

Date.UTC() с менее чем двумя аргументами

Когда вы предоставляете функции Date.UTC() меньше, чем два аргумента, то по стандартам ECMAScript 2017, она должна вернуть NaN. Браузерные движки, не поддерживающие подобное поведение, были обновлены (смотрите bug 1050755, ecma-262 #642).

js
Date.UTC();
Date.UTC(1);

// Safari: NaN
// Chrome/Opera/V8: NaN

// Firefox <54: non-NaN
// Firefox 54+: NaN

// IE: non-NaN
// Edge: NaN

Смотрите также