Работа с датами и временем
Читаем часы, считаем даты и обходим классические ловушки
Date. Он мощный, но у него есть несколько знаменитых сюрпризов. Когда вы их узнаете, даты перестанут пугать.
- создать
Dateдля текущего момента или для конкретного дня, - прочитать из даты год, месяц, день и время,
- сравнивать две даты и выполнять арифметику (например, "сколько дней осталось?"),
- понимать метки времени, длительности и ловушки нумерации месяцев с нуля, часовых поясов и перехода на летнее время.
1. Создаём дату
Date - это объект, который хранит один точный момент времени. Его создают через new Date(...). Начинающие чаще всего используют три способа:
const now = new Date(); // прямо сейчас, этот самый момент
const party = new Date(2026, 0, 15); // конкретный день: 15 января 2026
const iso = new Date('2026-07-15'); // из текстовой строки (формат ISO)
Внимание - месяцы начинаются с 0! В new Date(2026, 0, 15) среднее число - это месяц, и январь - это 0, а не 1. Значит, декабрь - это 11. А вот день месяца, как ни странно, всё равно начинается с 1. Эта "нумерация месяцев с нуля" - самая знаменитая ловушка Date, помните о ней всю дорогу.
0, последняя (декабрь) - на месте 11. А номер дня написан на странице как в обычном календаре: 15-е - это 15.
Вызов new Date() без аргументов вы будете использовать чаще всего: он берёт текущую дату и время.