Date对象中二月的31天

31 days in February in Date object

本文关键字:31天 二月 对象 Date      更新时间:2023-09-26

这段代码应该记录给定月份的所有天数:

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);
}

除了二月,其他月份都很好。你知道问题在哪里吗?

注意month参数是0索引,所以你的代码是关于March而不是February

医生:

表示月份的整数值,从0开始,表示一月到

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

这很有趣:

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