Назад к вопросам
Junior
101
questionbank

Как в JavaScript можно работать с датами?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

В JavaScript для работы с датами используется встроенный объект Date.

Создание объектов Date:

// Текущая дата и время
const now = new Date();

// Дата и время из строки (разные форматы поддерживаются)
const specificDate = new Date('2023-10-27T10:00:00Z');

// Дата и время из timestamp (миллисекунды с эпохи Unix)
const timestampDate = new Date(1678886400000);

// Дата и время по компонентам (год, (месяц от 0 до 11), день, час, минута, секунда, миллисекунда)
const componentsDate = new Date(2023, 9, 27, 10, 0, 0, 0);

Основные методы для получения компонентов даты:

Метод Описание
getFullYear() Возвращает год (4 цифры)
getMonth() Возвращает месяц (от 0 до 11)
getDate() Возвращает день месяца (от 1 до 31)
getDay() Возвращает день недели (от 0 до 6, 0 - воскресенье)
getHours() Возвращает часы (от 0 до 23)
getMinutes() Возвращает минуты (от 0 до 59)
getSeconds() Возвращает секунды (от 0 до 59)
getMilliseconds() Возвращает миллисекунды (от 0 до 999)
getTime() Возвращает timestamp (миллисекунды с 1970-01-01)

Основные методы для установки компонентов даты:

Метод Описание
setFullYear() Устанавливает год
setMonth() Устанавливает месяц
setDate() Устанавливает день месяца
setHours() Устанавливает часы
setMinutes() Устанавливает минуты
setSeconds() Устанавливает секунды
setMilliseconds() Устанавливает миллисекунды
setTime() Устанавливает дату из timestamp

Форматирование даты:

Метод Описание
toString() Возвращает строковое представление даты
toDateString() Возвращает строковое представление даты (без времени)
toTimeString() Возвращает строковое представление времени
toISOString() Возвращает дату в формате ISO 8601
toLocaleDateString() Возвращает дату в формате, специфичном для локали
toLocaleTimeString() Возвращает время в формате, специфичном для локали
toLocaleString() Возвращает дату и время в формате, специфичном для локали

Примеры использования:

const date = new Date();

console.log(date.getFullYear()); // Получить год
date.setHours(15); // Установить часы на 15

const isoString = date.toISOString(); // Получить в формате ISO
console.log(isoString);

Для более сложной работы с датами и временем (например, форматирование, парсинг строк в разных форматах, работа с часовыми поясами) часто используются сторонние библиотеки, такие как Moment.js (устаревает, но все еще используется) или date-fns (современный, модульный подход).