嗯 我也碰到过这种问题   yyyy-MM-dd hh:mm:ss  不过是因为  MM(月份) 和 mm(分钟)  相同了,后来不知道怎么又好了  你看看  你月份 和  分钟是不是对调了  或者 相同。。    

解决方案 »

  1.   

    找到一点原因了var s = "09";
    alert(parseInt(s));
    得到的结果是0var s2 = "08";
    alert(parseInt(s2));
    得到的结果是0var s3 = "07";
    alert(parseInt(s));
    得到的结果是7这是什么原因呢?
      

  2.   

    很简单的道理,parseInt函数有两个参数,第二个参数表示按多少进制进行转换,不写就容易出错,比如08表示八进制了你只要这么写就成
    var d = parseInt( "08",10 );function StringToDate(s) { 
    alert("得到的日期字符串 : " + s); 
    alert(parseInt(s.substring(0,4),10)); 
    alert(parseInt(s.substring(5,7)-1,10)); 
    alert(parseInt(s.substring(8,10),10)); 
    alert(parseInt(s.substring(11,13),10)); 
    alert(parseInt(s.substring(14,16),10)); 
    alert(parseInt(s.substring(17,19),10));  var d = new Date(); 
    d.setYear(parseInt(s.substring(0,4),10)); 
    d.setMonth(parseInt(s.substring(5,7)-1,10)); 
    d.setDate(parseInt(s.substring(8,10),10)); 
    d.setHours(parseInt(s.substring(11,13),10)); 
    d.setMinutes(parseInt(s.substring(14,16),10)); 
    d.setSeconds(parseInt(s.substring(17,19),10));  return d; 

      

  3.   

    呵呵,我以前也碰到过...
    用parseInt的时候,最好加上进制,就不会出现这个问题了parseInt(val, 10)