碰到一个奇怪的问题
var date = new Date(year,month,day);
当day等于31的时候,就算当月有31号,new出来的日期都是下个月的1号?

解决方案 »

  1.   

    today = new Date()
    今 天 日 期 为: ", today.getMonth()+1,"/",today.getDate(),"/",today.getYear());
    看到了吧,今天日期获得的月份要加一
      

  2.   

    var date = new Date(2007, 3, 30);
    alert(date.getYear());  -----------2007
    alert(date.getMonth()); -----------3
    alert(date.getDate());  -----------30var date = new Date(2007, 3, 31);
    alert(date.getYear());  -----------2007
    alert(date.getMonth()); -----------4
    alert(date.getDate());  -----------1
      

  3.   

    // 4-30
    var date = new Date(2007, 3, 30);
    alert(date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate());// 5-1
    var date2 = new Date(2007, 3, 31);
    alert(date2.getFullYear() + "-" + (date2.getMonth() + 1) + "-" + date2.getDate());// 2-28
    var date3 = new Date(2007, 1, 28);
    alert(date3.getFullYear() + "-" + (date3.getMonth() + 1) + "-" + date3.getDate());// 3-1
    var date3 = new Date(2007, 1, 29);
    alert(date3.getFullYear() + "-" + (date3.getMonth() + 1) + "-" + date3.getDate());
      

  4.   

    1.月份是从0开始算的
      (2007,3,31)
      实际上指定的是4也31号,实际上4月只有30天,因此变成了5月1号,返回月份为4
    2.Date(年,月,日)
      这里的年是从1900年开始算的2007年3月31号 正确的写法应该是var date = new Date(2007-1900, 2, 31);
      

  5.   

    redduke1202,zuguanqun(小群)thank you!