Создание даты в JavaScript
Для работы с датой и временем используют встроенный объект Date. Экземпляр объекта создают с помощью new Date(). Аргументы определяют, какую именно дату нужно получить.
Текущая дата и время
Если аргументы не передавать, будет создана дата в момент выполнения кода.
const now = new Date();
console.log(now);
При выводе в консоль время будет показано в часовом поясе компьютера.
Оператор new здесь обязателен. Вызов Date() без него вернет строку, а не объект даты.
Дата из компонентов
Когда известны год, месяц, день и время, их можно передать отдельными аргументами.
const meeting = new Date(2026, 6, 12, 9, 30);
console.log(meeting);
Так будет создано 12 июля 2026 года, 09:30 по местному времени. Год и месяц обязательны, остальные аргументы можно не указывать.
const newYear = new Date(2026, 0, 1);
Если не передать день, он будет равен 1. Часы, минуты, секунды и миллисекунды по умолчанию равны 0.
Месяцы нумеруются с нуля:0- январь,6- июль,11- декабрь. День месяца начинается с1.
Строка с датой
Дату часто получают из формы, API или базы данных в виде строки. Для нее лучше использовать формат ISO.
const startAt = new Date('2026-07-12T09:30:00');
Строка без часового пояса означает время на локальном компьютере. Буква Z в конце указывает, что время задано по UTC.
const publishedAt = new Date('2026-07-12T09:30:00Z');
Такой формат обычно возвращают серверы. Строки вида 12.07.2026 лучше не передавать в new Date(): их разбор может отличаться в разных окружениях. Если дата известна в коде, надежнее передать ее компонентами.
Timestamp
Timestamp - это количество миллисекунд, прошедших с 1 января 1970 года по UTC. Такой формат часто используют серверы и базы данных.
const timestamp = Date.now();
const createdAt = new Date(timestamp);
Date.now() возвращает timestamp текущего момента. Передав его в new Date(), получим объект даты.
Что выбрать
- Для текущих даты и времени -
new Date(). - Для известной даты в коде -
new Date(год, месяц, день, …). - Для данных от API - строку ISO или timestamp, в том формате, в котором их вернул сервер.