JavaScript日期在IE8中无法正常工作

时间:2015-06-04 11:41:05

标签: javascript google-chrome internet-explorer

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

1 个答案:

答案 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());
}