IE浏览器日期时间问题



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

请推荐我!!

这是接近 ISO-8601格式的日期/时间,但不完全是…UTC的偏移量没有冒号。看起来Chrome和Firefox对ISO-8601的解析不像IE那么挑剔。

如果您将代码更改为:

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

…那么它在Chrome和IE11中都没问题。(我还没有测试过Firefox,但我希望它会很好。)

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

给日期构造函数的字符串应该是RFC2822或ISO 8601格式的日期。在你的例子中不是。试试以下命令:

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

根据规范,我认为应该将时区指定为-08:00

最新更新