JavaScript new Date()返回无效的值



这是JavaScript代码,new Date((返回无效的值。我需要在将日期格式传递给new Date((?

之前更改日期格式吗?
new Date("25-Feb-17");

在MDN上,您可以阅读有关此特定Date构造函数的以下内容:

注意:与日期构造函数(和日期。对RFC 2822格式字符串的支持仅是按照约定的。对ISO 8601格式的支持在仅日期的字符串(例如" 1970-01-01"(中有所不同。

如果您希望构造函数在所有浏览器中正确工作,则使用其其他一种变体(也在链接的MDN页面上描述(,或者至少将日期字符串重新格式化以符合ISO8601日期表示。后一种选项不能100%保证可以正常工作,因为JavaScript使用稍微简化的约定来表示日期为字符串。您可能会发现角落案例会失败。

另外,根据引用的注释,还有一个警告。使用简化的日期格式(例如"2017-02-25"(将被视为UTC,然后内部转换为您的本地时区。假设您在西半球,最终结果将是2月24日。

它不在firefox上工作,在chrome上进行了测试并正常工作,因此我建议您使用标准日期对象创建如下:

new Date(year, month, day, hours, minutes, seconds, milliseconds)

最新更新