Какие особенности работы с датами в JavaScript

«Какие особенности работы с датами в JavaScript» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Работа с датами в JavaScript имеет несколько ключевых особенностей:

  1. Объект Date - основной инструмент для работы с датами. Создается через new Date(). Может принимать разные форматы:
new Date() // текущая дата
new Date('2023-01-01') // из строки
new Date(2023, 0, 1) // год, месяц (0-11), день
  1. Месяцы нумеруются с 0 (0 - январь, 11 - декабрь)

  2. Часовые пояса - Date использует локальный часовой пояс системы. Для UTC используйте методы:

date.getUTCHours()
date.toISOString() // формат YYYY-MM-DDTHH:mm:ss.sssZ
  1. Библиотеки - для сложных операций лучше использовать библиотеки:
  • Moment.js (устаревший)
  • date-fns (современная альтернатива)
  • Day.js (легковесная)
  1. Форматирование - встроенные методы ограничены, для сложного форматирования лучше использовать Intl.DateTimeFormat:
new Intl.DateTimeFormat('ru-RU').format(date)