JavaScript:
Расчет даты в будущем или прошлом
Как это сделать:
Объект Date
в JavaScript - ваш лучший помощник для манипуляций с датами. Давайте поиграем с несколькими примерами:
// Сегодняшняя дата
let today = new Date();
console.log(today); // Выводит текущую дату и время
// Рассчитать дату через 7 дней в будущем
let nextWeek = new Date();
nextWeek.setDate(today.getDate() + 7);
console.log(nextWeek); // Выводит дату через 7 дней от сегодняшнего дня
// Рассчитать дату 30 дней назад
let lastMonth = new Date();
lastMonth.setDate(today.getDate() - 30);
console.log(lastMonth); // Выводит дату за 30 дней до сегодняшнего дня
// Установить дату на 1 год в будущее
let nextYear = new Date();
nextYear.setFullYear(today.getFullYear() + 1);
console.log(nextYear); // Выводит дату на тот же день в следующем году
Результаты зависят от времени запуска этого кода, так как today
— это ваша текущая дата-время.
Подробнее
До того как в JavaScript появились встроенные функции для работы с датами, программистам приходилось вручную рассчитывать даты, учитывая различия в длине месяцев, високосные годы и часовые пояса — настоящая боль! С Date
многие из этих хлопот исчезают.
Альтернативы нативному объекту Date
включают в себя библиотеки, такие как moment.js
и date-fns
, которые предлагают более богатый синтаксис и решают такие проблемы, как ошибки перехода на летнее время.
Когда вы рассчитываете даты, помните: Date
считает месяцы с 0 (январь) по 11 (декабрь), а не с 1-12. И не забудьте учитывать високосные годы, когда работаете с датами февраля.
Смотрите также
- Документация MDN о Date: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
- moment.js: https://momentjs.com/
- date-fns: https://date-fns.org/