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

JavaScriptJavaScriptBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") subgraph Lab Skills javascript/variables -.-> lab-28253{{"Вычисление числа дней назад с использованием JavaScript"}} javascript/data_types -.-> lab-28253{{"Вычисление числа дней назад с использованием JavaScript"}} javascript/arith_ops -.-> lab-28253{{"Вычисление числа дней назад с использованием JavaScript"}} javascript/comp_ops -.-> lab-28253{{"Вычисление числа дней назад с использованием JavaScript"}} javascript/cond_stmts -.-> lab-28253{{"Вычисление числа дней назад с использованием JavaScript"}} end

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, чтобы улучшить свои навыки.