new Date()带参数设置日期,webkit, firefox, ie均有区别,解决方案

最近遇到new Date()导致的BUG,问题语句:

var firstday=(new Date('2014-06-01')).getDay();

new Date()的参数,webkit支持最广,而firefox只支持yyyy-mm-dd的格式,ie则不支持,返回NaN

new Date('2014-6-1');    //webkit支持,firefox不支持,ie不支持
new Date('2014-06-01');  //webkit支持,firefox支持,ie不支持

解决方案:

自定义初始化日期的方法:

function newDate(str) {
    str = str.split('-');
    var date = new Date();
    date.setUTCFullYear(str[0], str[1] - 1, str[2]);
    date.setUTCHours(0, 0, 0, 0);
    return date;
}
//通用
newDate('2014-06-01');

参考:http://www.jb51.net/article/29800.htm

若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏