alert(Date.parse('Mar 1 1990'));
在jsFiddle中,返回一个日期时间整数,如预期的那样。在我的机器上,它返回...一个时间戳字符串?
Thu Mar 01 1990 00:00:00 GMT-0500 (EST)
vs 636267600000
答案 0 :(得分:2)
ECMAScript语言规范
15.9.4.2 Date.parse(string)
解析函数适用于 ToString运算符到它的参数和 将结果String解释为 日期和时间; 返回一个数字, 对应的UTC时间值 日期和时间。字符串可能是 解释为当地时间,UTC 时间,或其他时间的时间 区域,取决于的内容 串。该功能首先尝试 解析String的格式 按照规定的规则 日期时间字符串格式(15.9.1.15)。 如果String不符合 格式化功能可能会回落 任何特定于实现的启发式方法 或特定于实施的日期 格式。无法识别的字符串或 包含非法元素的日期 值格式格式为String 导致Date.parse为返回NaN 。
你可能做错的是两个测试不一样:
alert(Date.parse('Mar 1 1990'));
返回一个数字(总是)
alert(new Date('Mar 1 1990'));
返回您提到的字符串
(因为在日期对象上调用toString方法)