🧱 Суть
Temporal API – это новый стандарт JavaScript для работы с датами и временем.
Он создан как замена старому объекту:
Dateкоторый имеет множество исторических проблем.
Пример:
Старый подход:
new Date("2026-04-28");Новый подход:
Temporal.PlainDate.from("2026-04-28");📦 Проблема
1. Date имеет сложное и непредсказуемое поведение
Например:
new Date("2026-04-28");может по-разному интерпретироваться из-за часовых поясов.
2. Сложно работать с календарными операциями
Например:
date.setDate(date.getDate() + 1);У Date легко получить проблемы при работе с:
- месяцами
- часовыми поясами
- переходом на летнее время
3. Date смешивает разные понятия
Одна сущность используется сразу для:
- даты без времени
- времени
- момента во времени
- часового пояса
Из-за этого появляются ошибки.
✅ Решение
Использовать:
Temporal APIОн разделяет разные типы времени:
- дата без времени →
Temporal.PlainDate - дата + время →
Temporal.PlainDateTime - момент времени →
Temporal.Instant - дата с часовым поясом →
Temporal.ZonedDateTime
💻 Код
Создание даты:
const date = Temporal.PlainDate.from("2026-04-28");Добавление дней:
const tomorrow = date.add({ days: 1 });Добавление месяцев:
const nextMonth = date.add({ months: 1 });Получение частей даты:
date.year;
date.month;
date.day;Преимущества Temporal
- Нет неожиданных проблем с часовыми поясами
- Удобное добавление дней, месяцев и лет
- Более понятный API
- Разделение даты и времени
- Меньше ошибок при работе с календарём
Важный момент
Temporal не заменяет Date мгновенно.
Старый код:
new Date()останется актуальным ещё долго.
Но для новых проектов постепенно стоит использовать Temporal.
🎯 Вывод
Temporal API– новый стандарт работы с датами в JavaScript- он решает основные проблемы
Date PlainDateподходит для обычных календарных дат- больше не нужно вручную бороться с часовыми поясами и сложными операциями
- для нового кода Temporal – более безопасный выбор