Вебсправочник
Справочник JavaScript

Date.UTC(): собрать временную метку из компонентов UTC

Date.UTC создаёт временную метку из календарных компонентов, интерпретируемых в UTC. Это отличается от конструктора Date с отдельными числами, который обычно использует местную временную зону.

Назначение

Date.UTC создаёт временную метку из календарных компонентов, интерпретируемых в UTC. Это отличается от конструктора Date с отдельными числами, который обычно использует местную временную зону.

Как это работает

Номер месяца начинается с нуля. Возвращается число миллисекунд, которое можно передать в new Date. Компоненты за обычными границами нормализуются, поэтому метод не является строгим валидатором календарного ввода.

Пример

const stamp = Date.UTC(2026, 0, 15, 12, 30);
console.assert(new Date(stamp).toISOString() === "2026-01-15T12:30:00.000Z");
console.assert(new Date(Date.UTC(2026, 12, 1)).getUTCFullYear() === 2027);
console.assert(new Date(Date.UTC(99, 0, 1)).getUTCFullYear() === 1999);
console.log(stamp);

Что должно получиться

Месяц 0 даёт январь, месяц 12 переносит дату на следующий год. Год 99 демонстрирует специальную трактовку значений от 0 до 99 как годов двадцатого века.

Граница применения и частая ошибка

Не принимайте успешное создание метки за подтверждение существования исходной календарной даты: лишние дни могут перейти в следующий месяц. Для малых годов используйте способ с явным setUTCFullYear и проверкой компонентов. Не смешивайте локальные и UTC-методы случайно.

Самостоятельная проверка

Проверьте месяц на единицу больше ожидаемого и найдите сдвиг. Затем сравните getMonth и getUTCMonth в своей зоне. Для пользовательского ввода валидируйте исходные компоненты до сохранения результата.

Пример JavaScript проверяйте в собственном учебном файле или консоли своего проекта. Встроенная песочница справочника JavaScript не выполняет. Успешное выполнение в одной среде не гарантирует поддержку метода во всех браузерах.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.