search

Home  >  Q&A  >  body text

javascript - 在IE浏览器下new Date('2014-02-26T21:18:02.497')初始化返回NaN

在其他浏览器中没有问题,很奇怪。
不知道谁知道怎么解决这个问题。

巴扎黑巴扎黑2897 days ago379

reply all(2)I'll reply

  • 怪我咯

    怪我咯2017-04-10 14:23:47

    简单答案,按下 F12 打开开发者工具,切换一下文档模式(Document Mode),你会发现不同。

    若你还想深究为什么,Check this out:http://biostall.com/javascript-new-date-returning-nan-in-ie-or-invalid-date-in-safari

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 14:23:47

    当初也遇到了这个问题,排查了半天才知道了是这个问题。结果如同 @nightire 所说的那个样子。
    我当初的解决方式是这样子的,使用正则转换一下(当然写得很丑啦):

    var t = '2014-02-26T21:18:02.497'
    var a = t.replace(/(\d{4})-(\d{2})-(\d{2})T(.*)?\.(.*)/, "$1/$2/$3 $4")
    new Date(a)
    

    然后就可以变成时间对象了,在IE11调试工具上测试通过。
    仅供参考:)

    reply
    0
  • Cancelreply