在IE9中,Quirks模式Date.parse返回NaN

时间:2011-11-17 18:58:31

标签: javascript internet-explorer iso quirks-mode

我试图找出为什么当IE9处于Quirks模式时,当应用于看似有效的ISO 8601日期字符串时,Date.parse(javascript)返回NaN的原因。它在标准模式下工作正常。

//ReturnsNaN in Quirks Mode, 1270574382557 in Standards Mode
document.write(Date.parse("2010-04-06T17:19:42.557"));  

//Returns NaN in Quirks Mode, 1270512000000 in Standards Mode
document.write(Date.parse("2010-04-06"));       

相比之下,以下适用于我的Quirks和标准

//Returns 1270549182000 in both Quirks and Standards Modes  
document.write(Date.parse("2010/04/06T17:19:42"));  

还有其他人看到这种行为吗?如果是这样,有关为什么Date.parse返回NaN的任何想法?

1 个答案:

答案 0 :(得分:1)

首先,您应该了解怪癖模式基本上是IE5兼容模式。

没有有效的声明会触发它。 主要的影响是它导致浏览器使用IE5盒子模型,这意味着所有填充,边距和边框以及影响盒子大小的任何其他东西都是不正确的。

所以你的Date.parse不起作用,因为没有这样的功能 - 在那些日期“解析ISO 8601日期”。