解决IE不支持Date()的问题,显示NaN,兼容IE的js格式化日期方法
2017-07-05| 程成| 2615| 4| jQuery/JS

    写js时候发现,在ie8下不支持new Date('2017-07-05')这样的写法,总是提示NaN,但是在谷歌浏览器可以正常运行。下面总结了一个兼容IE7,IE8的new Date()解决方法,有类似问题的朋友可以做个参考。


function _getDate(year,month,day){
    var today = new Date(year,month-1,day);
    var yesterday_seconds = today.getTime()-1000*60*60*24;
    var yesterday = new Date;
    yesterday.setTime(yesterday_seconds);
    var y = yesterday.getFullYear();
    var m = yesterday.getMonth()+1;
    var d = yesterday.getDate();
    if(m < 10){
        m = "0"+ m;
    }
    if(d < 10){
        d = "0" + d;
    }
    var stryesterday = y + "" + m + "" + d;
    return stryesterday;
}


    当然,你也可以将日期 '2017-07-05' split('-')下,转成数组arr后,再new data(arr[0],arr[1]-1,arr[2]," "," "," ")。月份要减一,时分秒为空,则默认为零。

    但是这样已经把时间当成字符串处理,已经脱离日期本质了,不太推荐。

    以上代码亲测可用,这样就解决了在IE下不支持new Date()的问题。



×
作者:程成
QQ:492245711