使用 JavaScript 遍历日期范围
2022-08-30 02:01:32
给定两个对象,其中一个小于另一个,我如何每天在日期之间循环?Date()
for(loopDate = startDate; loopDate < endDate; loopDate += 1)
{
}
这种循环会起作用吗?但是,如何向循环计数器添加一天呢?
谢谢!
给定两个对象,其中一个小于另一个,我如何每天在日期之间循环?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));
}
请注意,如果要存储日期,则需要创建一个新日期(如上文中的新 Date(d)所示
),否则最终每个存储的日期都是循环中 d
的最终值。
基于汤姆·古伦的回答。
var start = new Date("02/05/2013");
var end = new Date("02/10/2013");
var loop = new Date(start);
while(loop <= end){
alert(loop);
var newDate = loop.setDate(loop.getDate() + 1);
loop = new Date(newDate);
}