javascript - 在IE浏览器下new Date('2014-02-26T21:18:02.497')初始化返回NaN
巴扎黑
巴扎黑 2017-04-10 14:21:47
0
2
381

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

巴扎黑
巴扎黑

Antworte allen(2)
刘奇

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

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

左手右手慢动作

当初也遇到了这个问题,排查了半天才知道了是这个问题。结果如同 @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调试工具上测试通过。
仅供参考:)

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage