本文介绍在IE7等旧版浏览器中,使用new Date()传入日期字符串时返回NaN的问题。通过解析字符串并调用setUTCFullYear等方法,构建兼容所有浏览器的日期格式化函数,确保跨浏览器环境下的日期处理一致性。
// 复制代码
IE浏览器new Date()参数NaN错误解决方法
代码如下:
var date1 = new Date(dateTimes[z][1]);在火狐浏览器中可以正常获取时间,但在IE7下却返回NaN。经过长时间排查,放弃直接使用new Date(),转而在国外论坛找到一段兼容所有浏览器的日期格式化代码:
// 复制代码
代码如下:
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;
}