Введение
В этом практическом занятии мы углубимся в программирование на 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, чтобы улучшить свои навыки.