「2014/4/1から2014/5/1(の前日)までの日付の連番を生成したい」というときにはこう書けばできます。
var start = new Date("2014-4-1");
var end = new Date("2014-5-1");
for(var d = start; d < end; d.setDate(d.getDate()+1)) {
console.log(d);
}
実行結果
Tue Apr 01 2014 00:00:00 GMT+0900 (JST)
Wed Apr 02 2014 00:00:00 GMT+0900 (JST)
Thu Apr 03 2014 00:00:00 GMT+0900 (JST)
Fri Apr 04 2014 00:00:00 GMT+0900 (JST)
Sat Apr 05 2014 00:00:00 GMT+0900 (JST)
Sun Apr 06 2014 00:00:00 GMT+0900 (JST)
Mon Apr 07 2014 00:00:00 GMT+0900 (JST)
Tue Apr 08 2014 00:00:00 GMT+0900 (JST)
Wed Apr 09 2014 00:00:00 GMT+0900 (JST)
Thu Apr 10 2014 00:00:00 GMT+0900 (JST)
Fri Apr 11 2014 00:00:00 GMT+0900 (JST)
Sat Apr 12 2014 00:00:00 GMT+0900 (JST)
Sun Apr 13 2014 00:00:00 GMT+0900 (JST)
Mon Apr 14 2014 00:00:00 GMT+0900 (JST)
Tue Apr 15 2014 00:00:00 GMT+0900 (JST)
Wed Apr 16 2014 00:00:00 GMT+0900 (JST)
Thu Apr 17 2014 00:00:00 GMT+0900 (JST)
Fri Apr 18 2014 00:00:00 GMT+0900 (JST)
Sat Apr 19 2014 00:00:00 GMT+0900 (JST)
Sun Apr 20 2014 00:00:00 GMT+0900 (JST)
Mon Apr 21 2014 00:00:00 GMT+0900 (JST)
Tue Apr 22 2014 00:00:00 GMT+0900 (JST)
Wed Apr 23 2014 00:00:00 GMT+0900 (JST)
Thu Apr 24 2014 00:00:00 GMT+0900 (JST)
Fri Apr 25 2014 00:00:00 GMT+0900 (JST)
Sat Apr 26 2014 00:00:00 GMT+0900 (JST)
Sun Apr 27 2014 00:00:00 GMT+0900 (JST)
Mon Apr 28 2014 00:00:00 GMT+0900 (JST)
Tue Apr 29 2014 00:00:00 GMT+0900 (JST)
Wed Apr 30 2014 00:00:00 GMT+0900 (JST)
ポイントは、d.setDate(d.getDate()+1)
で日付をインクリメントできるところですね。
月末や年末をまたいだときもちゃんと繰り上がってくれます。