关于Date.parse的兼容性问题

IE下

//低版本IE:
Date.parse('2015-02-05 12:39:30') // 不支持
Date.parse('2015/02/05 12:39:30') // 支持

Safari下

Date.parse('2015-02-05 12:39:30') // 不支持
Date.parse('2015/02/05 12:39:30') // 支持

firefox下

Date.parse('foot 2015') //不支持,这种所传参数非有效字符,建议使用 isNaN(str) 处理后再进行Date.parse();

chrome下

只要字符串最后的那部分是数字,并且和前面有空格分隔,Date.parse就会取空格和数字部分,并按这个部分给出一个日期。

Date.parse('foot 2015') //支持,默认会仅仅处理有效字符,即等效于,Date.parse(' 2015');

iphone 微信浏览器

Date.parse('2015-02-05 12:39:30') // 支持
Date.parse('2015/02/05 12:39:30') // 不支持



附加一个StringToDate 扩展函数

String.prototype.toDate = function() {
    return new Date(Date.parse(this.replace(/-/g, '/')));
}


String.prototype.toDate = function() {
var date = new Date(this.replace(/-/g, '/'));
if (isNaN(date.getDate())) {
date = new Date(this.replace(/\//g, '-'));
}
return date;
}


如需转载,请注明出处: https://www.chadou.me/p/179

最新发布