ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Добавление дней к текущей дате с помощью jQuery: руководство

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

JS
Скопировать код
const addDaysToDate = (daysToAdd) => new Date(Date.now() + daysToAdd * 86400000).toDateString();

console.log(addDaysToDate(10)); // "Дата через 10 дней"

Функция addDaysToDate позволяет воспроизвести переход в будущее через вычисление и добавление к текущему времени количества миллисекунд, соответствующих заданному количеству дней. В результате, мы получаем форматированную строку с новой датой.

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Разбираемся с нашей "машины времени"

Взаимодействие с датами может быть нестандартным заданием, особенно учитывая работу с часовыми поясами и переход на летнее время. Наша функция предполагает, что вы находитесь в часовом поясе UTC, поэтому при работе с локальными временными зонами возможно придется заложить дополнительные настройки.

Верификация работы в браузерах

Функция корректно работает во всех актуальных браузерах, однако если ваш код ориентирован на устаревшие версии, не забудьте провести глубокое тестирование.

Весна, зима и особые случаи

При работе с датами остаётся принимать во внимание возможности високосных годов и переходов на зимнее и летнее время, так как они могут внести коррективы в расчеты дат.

Создано для повторного использования

По вкусу любителей концепции переиспользования кода, нашу функцию можно преобразовать в метод Date, который будет прибавлять дни к любой указанной дате:

JS
Скопировать код
Date.prototype.addDays = function(days) {
  let date = new Date(this.valueOf());
  date.setDate(date.getDate() + parseInt(days, 10)); 
  return date;
};

let date = new Date();
console.log(date.addDays(10));

Библиотеки? Нет, спасибо!

Несомненно, такие библиотеки как Moment.js значительно упрощают работу с датами, но понимание базовых принципов работы со временем в JavaScript остается важным.

Герои с мечами

Если по каким-то причинам вы предпочитаете использовать Moment.js, то вот так будет выглядеть аналогичный код:

JS
Скопировать код
const moment = require('moment');
console.log(moment().add(10, 'days').toDate());

Визуализация

Можно представить нашу функцию как путешествие на лифте внутри времени:

Markdown
Скопировать код
Сегодня (📅): Первый этаж (Текущая дата)
Добавить дней (🔼): Подняться на 5 этажей
JS
Скопировать код
let today = new Date();
today.setDate(today.getDate() + 5); // Цель – 5-й этаж

Результат:

Markdown
Скопировать код
Новая дата (🏢): 5-й этаж (Дата через 5 дней)

Временной реверс

При желании "путешествовать" в прошлое используйте отрицательные числа:

JS
Скопировать код
console.log(addDaysToDate(-10)); // "Дата 10 дней назад"

Управление временем на уровне профессионала

Добавьте метод addDays() или функцию addDaysToDate в ваш инструментарий разработчика для решения различных задач.

Осторожно: драконы

После каждого "путешествия" во времени обязательно верифицируйте полученные результаты. Не забывайте о том, что високосные годы или изменение часового пояса могут подкинуть сюрпризы.

Полезные материалы

  1. Date – JavaScript | MDN — Обстоятельное руководство об объектах дат в JavaScript.
  2. Как добавить дни к дате? – Stack Overflow — Рекомендации по прибавлению дней к датам в JavaScript.
  3. Метод setDate() для объекта Date в JavaScript — Инструкция по установке дня месяца для объекта даты JavaScript.
  4. Всё, что вам нужно знать о Date в JavaScript | CSS-Tricks — Советы и хитрости для работы с датами в JavaScript.
  5. Moment.js | Дом — Возможности библиотеки Moment.js для управления датами.
  6. date-fns — Современная альтернатива Moment.js с открытым исходным кодом, доступным на GitHub.