这个是正确的
date.getMonth()的值是0-11,所以5实际上是6月份,6月份没有31天,
所以实际上是7月1日,自然getMonth()是6要5月31日因该
var date = new Date(2008,4,31); 
alert(date.getFullYear());
alert(date.getMonth()+1); 
alert(date.getDate()); 

解决方案 »

  1.   

    这个的确讨厌,JS里面的Date对象月份和日期都是0开始的。
    不过,灵活运用这个特性可以非常简单的取得类似上个月的最后一天..之类的东西(闰年的算法啊,cya)
      

  2.   

    JavaScript里面的Date对象时间日期都是从0开始的。
    就像Java/C++里面的数组坐标一样。
    分别用0,1.....11来对应实际月份的一月,二月......十二月。
    五月31号可以用以下表达式来表达:
    var date = new Date(2008,5-1,31); 以后多注意这个问题就行了。
      

  3.   

    alert(date.getFullYear()); //结果是2008
    alert(date.getMonth()-1); //结果是6 这里应该是5的
    alert(date.getDate()-1); //结果是1 这里应该是31的.