为什么Date.parse()方法适用于无效字符串" foo 01.01.01"

时间:2016-08-08 09:16:42

标签: javascript datetime

我对javascript Date.parse方法有疑问,下面是我的代码示例

var dateString = "foo 01.01.01";
Date.parse(dateString)

这会将值返回为(978287400000),但我期望NaN,以便我可以执行如下所示的无效日期检查。

isNaN(dateString.getTime())

我的问题是上面的字符串是如何有效的日期字符串?根据下面的MDN链接,它应该返回NaN。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/parse

谢谢, 迈克尔

1 个答案:

答案 0 :(得分:4)

从您链接的页面:

  

表示RFC2822或ISO 8601日期的字符串(可以使用其他格式,但结果可能是意外的)。

来自the spec that page links to

  

如果字符串不符合该格式,则该函数可能会回退到任何特定于实现的启发式或特定于实现的日期格式。