2013-04-29 64 views
3

此代码应记录所有天为给定月份:31天2月在Date对象

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

它非常适用每月但二月。任何想法都可以抓住?

+0

你用什么指数二月份....? 1或2 ...? – 2013-04-29 10:07:01

+0

几个月的索引从0开始。请参见[this fiddle](http://jsfiddle.net/jamesallardice/HSECS/)。 – 2013-04-29 10:07:23

回答

9

注月份参数为0索引,所以你的代码是关于没有

The doc:

月代表月份

整数值,与0开始的1月至11 十二月。

+0

哦,亲爱的,好像我变得老了......对不起,每个人都有这样一个微不足道的问题。 – 2013-04-29 10:10:45

3

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

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 
相关问题