Chrome按预期显示结果,但IE-8在执行以下操作时给出NAN:
Chrome:
d = new Date("2014 12 01") // results Mon Dec 01 2014 00:00:00 GMT+0500 (Pakistan Standard Time)
IE-8:
d = new Date("2014 12 01") // results NaN undefined
答案 0 :(得分:3)
您尝试解析的格式与the only specific format that new Date
is required to parse不匹配。要通过跨浏览器可靠地解析它,您需要显式地解析它 - 在您自己的代码中,这可以通过正则表达式轻松完成,或使用像MomentJS这样的库并告诉它格式是什么。
琐碎的正则表达式解决方案:
// NOTE! Uses local time.
var yourString = "2014 12 01";
var parts = yourString.match(/^(\d{4}) (\d{2}) (\d{2})$/);
if (parts) {
var date = new Date(+parts[1], +parts[2] - 1, +parts[3]);
alert(date.toString());
}