小编典典

使用 JavaScript 循环遍历日期范围

all

给定两个Date()对象,其中一个小于另一个,我如何在日期之间每天循环?

for(loopDate = startDate; loopDate < endDate; loopDate += 1)
{

}

这种循环会起作用吗?但是我怎样才能在循环计数器中增加一天呢?

谢谢!


阅读 133

收藏
2022-08-27

共1个答案

小编典典

这是一种通过使用添加一天的方式来做到这一点,如果必要的话,日期会滚动到下个月,而不会弄乱毫秒。夏令时也不是问题。

var now = new Date();
var daysOfYear = [];
for (var d = new Date(2012, 0, 1); d <= now; d.setDate(d.getDate() + 1)) {
    daysOfYear.push(new Date(d));
}

请注意,如果要存储日期,则需要创建一个新日期(如上所示new Date(d)),否则最终每个存储的日期都是d循环中的最终值。

2022-08-27