【问题标题】:IE browser Date Time IssueIE浏览器日期时间问题
【发布时间】:2016-09-06 10:33:22
【问题描述】:

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

请推荐我!

【问题讨论】:

    标签: javascript java ruby-on-rails angularjs


    【解决方案1】:

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

    如果您将代码更改为:

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

    ...那么在 Chrome 和 IE11 中都可以。 (我还没有测试过 Firefox,但我希望它没问题。)

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-08
        • 2016-04-20
        • 2013-04-04
        • 2013-09-22
        • 2020-06-06
        • 2011-04-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多