使用 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() 函数相应地更新日期。
  • 使用 Date.prototype.toISOString() 函数将结果日期以 yyyy-mm-dd 格式作为字符串返回。

示例用法:

daysAgo(20); // "2020-09-16" (如果当前日期是 2020-10-06)

总结

恭喜你!你已完成“过去日期”实验。你可以在 LabEx 中练习更多实验以提升技能。