IE浏览器日期时间问题

时间:2016-09-06 10:33:23

标签: javascript java ruby-on-rails angularjs

在IE 11浏览器上,以下语句返回无效的日期响应:新日期(" 2016-03-09T22:40:05.653-0800")。 在chrome / firefox上它返回有效日期。

请建议我!!

3 个答案:

答案 0 :(得分:2)

几乎 ISO-8601格式的日期/时间,但不完全...... UTC偏移量中没有冒号。看起来Chrome和Firefox并不像他们的ISO-8601解析那样挑剔。

如果您将代码更改为:

new Date("2016-03-09T22:40:05.653-08:00")

...然后Chrome和IE11都很好。 (我还没有测试过Firefox,但我希望它没问题。)

" -0800"是ISO-8601的基本格式的有效UTC偏移量,但它没有冒号。 Chrome和IE都不想处理格式正确的基本ISO-8601值,例如" 20160309T224005-0800"

答案 1 :(得分:0)

赋予日期构造函数的字符串应为RFC2822或ISO 8601格式的日期。在你的例子中它不是。请尝试以下方法:

new Date("2012-11-02T19:30:00.000Z");

答案 2 :(得分:0)

根据specification我认为时区应指定为-08:00