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

Date.toISOString(): момент в UTC и проверка корректности

Метод toISOString представляет корректный объект Date в стандартизованной строковой форме UTC.

Назначение

Метод toISOString представляет корректный объект Date в стандартизованной строковой форме UTC.

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

Суффикс Z обозначает UTC, а не местный часовой пояс. Для недопустимой даты метод выбрасывает RangeError. Дата без времени и конкретный момент являются разными моделями данных.

Пример

const moment=new Date("2026-08-30T12:00:00+03:00");
console.assert(moment.toISOString()==="2026-08-30T09:00:00.000Z");
const invalid=new Date("not-a-date");
console.assert(Number.isNaN(invalid.getTime()));

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

Полдень при смещении +03:00 представлен как 09:00 UTC. Проверка getTime позволяет обнаружить недопустимую дату, прежде чем toISOString выбросит исключение.

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

Не преобразуйте день рождения в момент UTC без понимания последствий часового пояса. И не полагайтесь на свободный разбор неоднозначных строк вроде 01/02/2026.

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

Создайте момент с явным смещением +03:00 и сравните час в ISO-строке. Затем обработайте недопустимую дату до вызова форматирования.

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

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