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/
【完】