为什么Date.parse()方法对无效字符串"foo 01.01.01"有效

Why Date.parse() methods works for invalid string "foo 01.01.01"

本文关键字:quot foo 有效 字符串 无效 parse Date 方法 为什么      更新时间:2023-09-26

我对javascript日期有疑问。解析方法,下面是我的代码示例

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

谢谢,迈克尔。

从您链接到的页面:

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

从规范页链接到:

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