简介
在本实验中,我们将探索如何使用 JavaScript 创建一个日期范围生成器。这个生成器将使我们能够使用给定的步长轻松生成指定范围内的所有日期。通过使用 Date
构造函数和 yield
关键字,我们可以有效地遍历日期并将它们返回给用户。本实验将是一个很好的机会,让你练习在 JavaScript 中使用循环和日期。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在本实验中,我们将探索如何使用 JavaScript 创建一个日期范围生成器。这个生成器将使我们能够使用给定的步长轻松生成指定范围内的所有日期。通过使用 Date
构造函数和 yield
关键字,我们可以有效地遍历日期并将它们返回给用户。本实验将是一个很好的机会,让你练习在 JavaScript 中使用循环和日期。
要使用给定的步长生成给定范围内的所有日期,请在终端/SSH 中使用以下代码并输入 node
:
const dateRangeGenerator = function* (start, end, step = 1) {
let d = start;
while (d < end) {
yield new Date(d);
d.setDate(d.getDate() + step);
}
};
这创建了一个生成器,它使用 while
循环从 start
迭代到 end
,使用 Date
构造函数返回范围内的每个日期,并使用 Date.prototype.getDate()
和 Date.prototype.setDate()
按 step
天递增。
要将 step
的默认值设为 1
,请省略第三个参数。
以下是使用 dateRangeGenerator
的示例:
[...dateRangeGenerator(new Date("2021-06-01"), new Date("2021-06-04"))];
// [ 2021-06-01, 2021-06-02, 2021-06-03 ]
恭喜你!你已经完成了日期范围生成器实验。你可以在 LabEx 中练习更多实验来提升你的技能。