Создание даты в 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, в том формате, в котором их вернул сервер.