We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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

Синтаксис

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

Параметри

year
Ціле число, що позначає рік. Значення в проміжку 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), що відповідає переданим параметрам.

Опис

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

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

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

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

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

Заувага: Якщо значення одного чи декількох вказаних складників виходить за прийнятні межі (скажімо, вказано 13-й місяць чи 70 хвилин), буде скориговано суміжні складники. Себто виклик Date.UTC(2013, 13, 1) є тотожним до Date.UTC(2014, 1, 1) і так само відповідає даті 2014-02-01T00:00:00Z. Те саме стосується інших значень: виразам Date.UTC(2013, 2, 1, 0, 70) та Date.UTC(2013, 2, 1, 1, 10) однаково відповідає дата 2013-03-01T01:10:00Z.

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

Приклади

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

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

var independenceDateAsMs = Date.UTC(91, 7, 24, 9, 0, 0);
console.log(independenceDateAsMs);  // 683024400000

var independenceDate = new Date(independenceDateAsMs);
console.log(independenceDate);  // Sat Aug 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.
Draft  
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 Yes1 Yes Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes4 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,