JavaScript日期在IE8中无法正常工作
Chrome显示预期结果,但当我执行以下操作时,IE-8给出NAN: 铬:JavaScript日期在IE8中无法正常工作,javascript,google-chrome,internet-explorer,Javascript,Google Chrome,Internet Explorer,Chrome显示预期结果,但当我执行以下操作时,IE-8给出NAN: 铬: d = new Date("2014 12 01") // results Mon Dec 01 2014 00:00:00 GMT+0500 (Pakistan Standard Time) IE-8: 您尝试分析的格式不匹配。要跨浏览器可靠地解析它,您需要显式地解析它——要么在您自己的代码中解析,这可以通过正则表达式轻松完成,要么使用MomentJS之类的库并告诉它格式是什么 简单的正则表达式解决方案: //注意
d = new Date("2014 12 01") // results Mon Dec 01 2014 00:00:00 GMT+0500 (Pakistan Standard Time)
IE-8:
您尝试分析的格式不匹配。要跨浏览器可靠地解析它,您需要显式地解析它——要么在您自己的代码中解析,这可以通过正则表达式轻松完成,要么使用MomentJS之类的库并告诉它格式是什么 简单的正则表达式解决方案:
//注意!使用当地时间。
var yourString=“2014 12 01”;
var parts=yourString.match(/^(\d{4})(\d{2})(\d{2})$/);
如有(部分){
var日期=新日期(+部分[1],+部分[2]-1,+部分[3]);
警报(date.toString());
}
您试图解析的格式不匹配。要跨浏览器可靠地解析它,您需要显式地解析它——要么在您自己的代码中解析,这可以通过正则表达式轻松完成,要么使用MomentJS之类的库并告诉它格式是什么
简单的正则表达式解决方案:
//注意!使用当地时间。
var yourString=“2014 12 01”;
var parts=yourString.match(/^(\d{4})(\d{2})(\d{2})$/);
如有(部分){
var日期=新日期(+部分[1],+部分[2]-1,+部分[3]);
警报(date.toString());
}
您试图解析的格式不匹配。要跨浏览器可靠地解析它,您需要显式地解析它——要么在您自己的代码中解析,这可以通过正则表达式轻松完成,要么使用MomentJS之类的库并告诉它格式是什么
简单的正则表达式解决方案:
//注意!使用当地时间。
var yourString=“2014 12 01”;
var parts=yourString.match(/^(\d{4})(\d{2})(\d{2})$/);
如有(部分){
var日期=新日期(+部分[1],+部分[2]-1,+部分[3]);
警报(date.toString());
}
您试图解析的格式不匹配。要跨浏览器可靠地解析它,您需要显式地解析它——要么在您自己的代码中解析,这可以通过正则表达式轻松完成,要么使用MomentJS之类的库并告诉它格式是什么
简单的正则表达式解决方案:
//注意!使用当地时间。
var yourString=“2014 12 01”;
var parts=yourString.match(/^(\d{4})(\d{2})(\d{2})$/);
如有(部分){
var日期=新日期(+部分[1],+部分[2]-1,+部分[3]);
警报(date.toString());
}
日期
与jQuery@RohitArora:否,因为这是关于解析规范在ES5中添加的格式。这是关于解析一个随机的非标准格式的,因为Chrome比IE8更智能,更不严格。“2014 12 01”几乎是一个正确的日期格式。尽管如此,Chrome还是足够聪明,能够理解它,但严格来说,它不应该这样做。Date
与之无关jQuery@RohitArora:否,因为这是关于解析规范在ES5中添加的格式。这是关于解析一个随机的非标准格式的,因为Chrome比IE8更智能,更不严格。“2014 12 01”几乎是一个正确的日期格式。尽管如此,Chrome还是足够聪明,能够理解它,但严格来说,它不应该这样做。Date
与之无关jQuery@RohitArora:否,因为这是关于解析规范在ES5中添加的格式。这是关于解析一个随机的非标准格式的,因为Chrome比IE8更智能,更不严格。“2014 12 01”几乎是一个正确的日期格式。尽管如此,Chrome还是足够聪明,能够理解它,但严格来说,它不应该这样做。Date
与之无关jQuery@RohitArora:否,因为这是关于解析规范在ES5中添加的格式。这是关于解析一个随机的非标准格式的,因为Chrome比IE8更智能,更不严格。“2014 12 01”几乎是一个正确的日期格式。尽管如此,Chrome还是足够聪明,可以理解它,但严格来说,它不应该理解。在最后的新日期(…)
通话中,+
有什么魔力?或者它是多余的?@scunlife:No magic:-)它将字符串转换成数字。啊,是的(doh),它们仍然是正则表达式中的字符串…在最后的新日期(…)
调用中+
有什么魔力?或者它是多余的?@scunlife:No magic:-)它将字符串转换成数字。啊,是的(doh),它们仍然是正则表达式中的字符串…在最后的新日期(…)
调用中+
有什么魔力?或者它是多余的?@scunlife:No magic:-)它将字符串转换成数字。啊,是的(doh),它们仍然是正则表达式中的字符串…在最后的新日期(…)
调用中+
有什么魔力?或者它是多余的?@scunlife:没有魔法:-)它将字符串转换成数字。啊,是的(doh),它们仍然是来自正则表达式的字符串。。。
d = new Date("2014 12 01") // results NaN undefined