MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Метод Date.UTC() приймає той самий перелік параметрів, що й найдовжча форма конструктора, та повертає кількість мілісекунд між 00:00:00 першого січня 1970 року та моментом часу (в поясі UTC+0), що відповідає переданим параметрам.

Синтаксис

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

Параметри

year
Рік після 1900. Значення в проміжку 0-99 означає рік 20-го сторіччя (1900-1999), а всі решта значень — як є (абсолютне значення).
month
Ціле число між 0 та 11, означає місяць.
day Optional
Ціле число між 1 та 31 означає день місяця.
hour Optional
Ціле число між 0 та 23 означає годину.
minute Optional
Ціле число між 0 та 59 означає хвилини.
second Optional
Ціле число між 0 та 59 означає секунди.
millisecond Optional
Ціле число між 0 та 999 означає мілісекунди.

Повертає

Ціле число, що представляє кількість мілісекунд між 00:00:00 першого січня 1970 року та моментом часу (в поясі UTC+0), що відповідає переданим параметрам.

Опис

Метод приймає параметри, що представляють окремі складові дати, та повертає кількість мілісекунд між північчю (00:00:00) першого січня 1970-го року та вказаною датою в часовому поясі UTC+0. Всі дати раніше за перше січня 1970-го року представлені від'ємними числами.

Зауважте, що відлік місяців (другий параметр метода) починається з нуля, а не з одиниці.

Вказуйте повний рік від Різдва Христового; наприклад 1998. Якщо вказано значання між 0 та 99, воно буде перетворено на рік 20-го сторіччя (себто 1900 + year); наприклад, 91 позначає 1991 рік.

Між методом UTC() та конструктором Date є дві відмінності:

  • Date.UTC() використовує всесвітній (UTC+0), а не місцевий час;
  • Date.UTC() повертає числове значення, а не об'єкт Date.

Якщо один чи декілька вхідних параметрів виходять за встановлені межі, метод UTC() перетворює його і один чи декілька інших складових дати таким чином, що отримане значення має сенс. Значення більші від верхньої межі додаються, а менші за нижню — віднімаються. Фактично виконується традиційна арифметика дат: 33 (31+2) грудня 2020-го року стає 2 січня 2021-го, а 0 (нульове) січня 2020-го стає 31 грудня 2019-го.

Позаяк UTC() є статичним методом класу Date, він зазвичай викликається через ім'я класу — Date.UTC(), а не через створений об'єкт.

Приклади

Використання Date.UTC()

Наведений приклад створює об'єкт типу Date зі складових дати, вказаних в часовому поясі UTC+0 замість локального:

var independenceDateAsMs = Date.UTC(91, 6, 24, 9, 0, 0);
console.log(independenceDate);  // 680346000000

var independenceDate = new Date(independenceDateAsMs);
console.log(independenceDate);  // Wed Jul 24 1991 12:00:00 GMT+0300 (EEST)

Наступний приклад засвідчує, що дати раніше відправної точки (північ першого січня 1970-го року) представлені від'ємними числами:

var ms = Date.UTC(1969, 11, 31, 23, 59, 59, 999);
console.log(ms);  // -1

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

Специфікація Статус Коментар
ECMAScript Latest Draft (ECMA-262)
The definition of 'Date.UTC' in that specification.
Living Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Date.UTC' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'Date.UTC' in that specification.
Standard  
ECMAScript 1st Edition (ECMA-262) Standard Первинне визначення, реалізовано у JavaScript 1.0.

Підтримка веб-переглядачами

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

Сумісність

Відсутність обов'язкових аргументів Date.UTC

За відсутності одного чи обох обов'язкових аргументів метод Date.UTC має повертати NaN. Така поведінка визначена специфікацією ECMAScript 2017. Web-рушії, які не підтримували цю поведінку, було оновлено (див. 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

Див. також

Дізнатись більше

Мітки документа й учасники

 Зробили внесок у цю сторінку: asmforce
 Востаннє оновлена: asmforce,