Вычисление числа дней назад с использованием JavaScript

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы углубимся в программирование на JavaScript и создадим функцию под названием daysAgo. Эта функция принимает число в качестве входных данных и вычисляет дату, которая была n дней назад от сегодняшней. Мы будем использовать конструктор Date, а также различные методы, такие как Math.abs() и Date.prototype.setDate(), чтобы выполнить эту задачу и вернуть результат в виде строки в формате yyyy-mm-dd. В конце этого практического занятия вы получите более глубокое понимание работы с датами в JavaScript.

JavaScript-функция для вычисления числа дней назад

Вот JavaScript-функция, которая вычисляет дату, которая была n дней назад от сегодняшней, и возвращает ее в виде строки в формате yyyy-mm-dd:

const daysAgo = (n) => {
  const today = new Date();
  const daysAgoDate = new Date(today.setDate(today.getDate() - Math.abs(n)));
  return daysAgoDate.toISOString().split("T")[0];
};

Вот, как это работает:

  • Конструктор Date используется для получения текущей даты.
  • Функция Math.abs() используется для обеспечения того, чтобы количество дней было положительным.
  • Функция Date.prototype.getDate() используется для получения дня месяца для текущей даты.
  • Функция Date.prototype.setDate() используется для соответствующего обновления даты.
  • Результирующая дата возвращается в виде строки в формате yyyy-mm-dd с использованием функции Date.prototype.toISOString().

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

daysAgo(20); // "2020-09-16" (если текущая дата 2020-10-06)

Резюме

Поздравляем! Вы завершили практическое занятие "Дни назад". Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.