Date в JavaScript официально устарел — по крайней мере концептуально.
Статья о проблемах Date, мутабельности и таймзонах объясняет, как Temporal решает их на уровне архитектуры

Он неудобный, мутабельный, с кучей исторических странностей и постоянными багами при работе с таймзонами. Спустя почти 30 лет у языка наконец появился нормальный ответ — Temporal.
В статье разбирают:
- почему Date изначально был плохой идеей
- какие именно проблемы он создаёт в реальных проектах
- как Temporal решает их архитектурно
- и почему это, пожалуй, одно из лучших улучшений JS за последние годы
Если вы хоть раз ловили баги из-за дат, таймзон — читать обязательно.