Назад к вопросам
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 (современный, модульный подход).