var startDate = new Date('2012', '6', '1');
alert(startDate); 输出以后是 2012 6 1.
var endDate = new Date('2012', '5', '31');
alert(endDate); 输出以后是 2012 6 1.请看红色部分,为什么输出一样的呢?

解决方案 »

  1.   

    var endDate = new Date('2012', '5', '31');
    //实际上设置的是2012年6月31日,6月没有31日,所以这个天数值是非法的,js会自动设置为当月1日
      

  2.   

     var endDate = new Date('2012', '5', '31');
    //实际上设置的是2012年6月31日,6月没有31日,所以这个天数值是非法的,js会自动设置为当月1日
      

  3.   

    2 3楼,你们在说什么啊……还有楼主也弄错了
    var startDate = new Date('2012', '6', '1');
    var endDate = new Date('2012', '5', '31');两个都是2012-07-01月份是用0到11表示1到12月。endDate设置的是2012-06-31.因为6月是没有31号的,所以会自动转换为符合的日期。并不是设置为当月1日!
      

  4.   

    js中以0-11表示1到12月份。。你这里弹出看到的显示是都是Sun Jul 01 2012。。就是说都是7月了。你设置的5.31实际上面设置的就是6月31,但是6月没有31 。所以就都是7月1号咯。。我想应该是这么回事吧