给定两个Date()对象,其中一个小于另一个,我如何在日期之间每天循环?
Date()
for(loopDate = startDate; loopDate < endDate; loopDate += 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循环中的最终值。
new Date(d)
d