Temporal API в Node.js: нормальная работа со временем без боли Date
Temporal становится важной частью JavaScript-платформы: разбираем, где он полезен и почему Date столько лет мешал.
Работа со временем в JavaScript всегда была странной. Date смешивает момент времени, локальную таймзону, форматирование и парсинг. В маленьком скрипте это терпимо, а в серверном коде быстро появляются ошибки: день съехал, часовой пояс не тот, дата из формы превратилась во вчера.
Temporal API решает эту проблему через более явные типы.
Что важно понять
Есть разные сущности:
- конкретный момент времени;
- календарная дата без времени;
- локальное время без даты;
- дата и время в конкретной таймзоне;
- длительность.
У Date все это часто живет в одном объекте. Temporal заставляет выбрать правильный тип. Это чуть многословнее, зато меньше магии.
Где это полезно
Для блога или админки самый частый кейс — scheduled-публикации. Там важно понимать: 2026-06-01 10:00 — это не абстрактное число миллисекунд, а время в конкретной таймзоне. Если сервер живет в UTC, а автор думает по Berlin, лучше хранить это явно и не надеяться на случайность.
Еще один кейс — дедлайны, подписки, счета, расписания. Везде, где "день" важнее "миллисекунды с 1970 года", Temporal делает код честнее.
Практичный совет
Не нужно переписывать весь проект за вечер. Начать можно с новых участков: расписания, календаря, импорта дат, отчетов. Старый Date еще долго будет встречаться в библиотеках, но бизнес-логику лучше постепенно переводить на более явные типы.
Источник: Node.js 26 release notes.