Дата и время
Работа с датами через объект Date.
Зачем нужно
Date — встроенный объект для работы с датой и временем. Хранит timestamp (мс с 1 января 1970). Имеет много нюансов: месяцы с 0, мутабельность, проблемы с часовыми поясами.
Где используется
- Отображение дат в интерфейсе
- Расчёт интервалов и таймаутов
- Фильтрация по дате
Code
// Создание
const now = new Date();
const specific = new Date(2026, 3, 7); // апрель! (месяцы с 0)
const fromStr = new Date('2026-04-07T14:30:00');
const fromTs = new Date(1775000000000);
// Геттеры
now.getFullYear(); // 2026
now.getMonth(); // 0-11
now.getDate(); // 1-31 (день месяца)
now.getDay(); // 0-6 (день недели, 0 = вс)
now.getHours(); // 0-23
now.getTime(); // timestamp в мс
// Timestamp
Date.now(); // текущий timestamp без создания объекта
// Разница между датами
const diff = date2 - date1; // в миллисекундах
const days = Math.floor(diff / (1000 * 60 * 60 * 24));
// Форматирование
now.toLocaleDateString('ru-RU'); // "07.04.2026"
now.toISOString(); // "2026-04-07T..."
// Для серьёзной работы с датами → Temporal API, date-fns, dayjs