new Date在IE下面兼容问题

昨天碰到一个bug,用art-template模板进行渲染时候,周视图任务展示失败,都是暂无任务,我以为是模板兼容问题,但最开始我用的时候记得就是IE8的兼容性问题,引入es5-shim.min.js即可,我太自以为是,后发现不是,重新调试代码发现是在一个方法里面时间转换时候出现NaN-NaN,Invalid Date情况,就是用new Date进行时间转化时候,后翻阅网络知道IE下面存在new Date转换时间格式的兼容性问题:

new Date("2016-10-10 12:30")
OR
new Date("2011-02-07T11:04:22");

发现IE下面都是‘NaN’,在Safari下面得到’Invalid Date‘。Firefox,Chrome,Opera将返回正确的结果。

IE下面支持:

var d = new Date(2011, 01, 07); // yyyy, mm-1, dd  
var d = new Date(2011, 01, 07, 11, 05, 00); // yyyy, mm-1, dd, hh, mm, ss  
var d = new Date("02/07/2011"); // "mm/dd/yyyy"  
var d = new Date("02/07/2011 11:05:00"); // "mm/dd/yyyy hh:mm:ss"  
var d = new Date(1297076700000); // milliseconds  
var d = new Date("Mon Feb 07 2011 11:05:00 GMT");

参考博客:http://biostall.com/javascript-new-date-returning-nan-in-ie-or-invalid-date-in-safari/

【完】

原文地址:https://www.cnblogs.com/tangjiao/p/9603005.html