3

此代码应记录给定月份的所有天数:

var date = new Date(2012,2,1);
var thisMonth = date.getMonth();
while(date.getMonth()==thisMonth) { // 31 steps ???
    console.log(date.getMonth(),date.getDate());
    date.setDate(date.getDate()+1);
}

它适用于每个月,除了二月。有什么想法吗?

4

3 回答 3

9

请注意,月份参数是0-indexed,因此您的代码大约是March而不是February

文档:

表示月份的整数值,从0 开始表示一月到 11 表示十二月。

于 2013-04-29T10:07:03.863 回答
3

这很有趣:

new Date('2014-02-28'); // Fri Feb 28 2014 01:00:00 GMT+0100
new Date('2014-02-29'); // Sat Mar 01 2014 01:00:00 GMT+0100
new Date('2014-02-30'); // Sun Mar 02 2014 01:00:00 GMT+0100
new Date('2014-02-31'); // Mon Mar 03 2014 01:00:00 GMT+0100
new Date('2014-02-32'); // Invalid Date
于 2014-10-19T20:55:02.290 回答
3

使用new Date(2012,1,1);月份是从零开始的 ;-)

于 2013-04-29T10:07:27.800 回答