日期:2014-05-16  浏览次数:20376 次

同一段JS在IE8中不兼容问题
JS代码如下
function AddDays(date, days) {
        var nd = new Date(date);
        nd = nd.valueOf();
        nd = nd + days * 24 * 60 * 60 * 1000;
        nd = new Date(nd);
        var y = nd.getFullYear();
        var m = nd.getMonth() + 1;
        var d = nd.getDate();
        if (m <= 9) m = "0" + m;
        if (d <= 9) d = "0" + d;
        var cdate = y + "-" + m + "-" + d;
        return cdate;
    }
传入一个date 日期 2014-1-20 11:08:55 和天数day 5天 返回 2014-1-25 
这个在谷歌浏览器中是没有问题的 在IE8中new Date 不支持

求解决 重写这个方法 使它兼容IE8浏览器和谷歌浏览器

------解决方案--------------------

function AddDays(date, days) {
var dd = date.split(/ 
------解决方案--------------------
-
------解决方案--------------------
:/g);
        var nd = new Date(dd[0],dd[1]-1,dd[2],!!dd[3]?dd[3]:0,!!dd[4]?dd[4]:0,!!dd[5]?dd[5]:0);
        nd = nd.valueOf();
        nd = nd + days * 24 * 60 * 60 * 1000;
        nd = new Date(nd);
        var y = nd.getFullYear();
        var m = nd.getMonth() + 1;
        var d = nd.getDate();
        if (m <= 9) m = "0" + m;
        if (d <= 9) d = "0" + d;
        var cdate = y + "-" + m + "-" + d;
        return cdate;
    }
---------------------------------