javascript new Date()返回无效值

javascript new Date()返回无效值,javascript,Javascript,这是javaScript代码,new Date()返回无效值。 在将其传递到新日期()之前,是否需要更改日期格式 它在Firefox上不起作用,在Chrome上经过测试,工作正常,因此我建议您使用标准日期对象创建,如下所示: new Date(year, month, day, hours, minutes, seconds, milliseconds) ,您可以阅读有关此特定Date构造函数的以下内容: 注意:由于浏览器差异和不一致,强烈建议使用日期构造函数(和date.parse是等效的)

这是javaScript代码,new Date()返回无效值。 在将其传递到新日期()之前,是否需要更改日期格式


它在Firefox上不起作用,在Chrome上经过测试,工作正常,因此我建议您使用标准日期对象创建,如下所示:

new Date(year, month, day, hours, minutes, seconds, milliseconds)
,您可以阅读有关此特定
Date
构造函数的以下内容:

注意:由于浏览器差异和不一致,强烈建议使用日期构造函数(和date.parse是等效的)解析日期字符串。仅按惯例支持RFC 2822格式字符串。对ISO 8601格式的支持不同之处在于,仅日期字符串(例如“1970-01-01”)被视为UTC,而不是本地字符串

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


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

在chrome中对我有效,我总是发现创建日期对象更安全,比如
新日期(年、月、日、小时、分钟、秒、毫秒)
因为我知道它们是对的。你还期望什么?不应该这样。刚刚尝试过,在这里工作正常:@binariedMe它依赖于浏览器…这不是有效的日期字符串。在firefox中试试。你可能在chrome中尝试过,它对无效日期的容忍度更高(新日期(“2月25日”)在chrome中运行良好。但不是在IET中,有很多其他有效的方法可以使用Date objectTrue来实现这一点,这就是为什么我建议使用的方法,OP可以选择他喜欢的任何方法。
new Date(year, month, day, hours, minutes, seconds, milliseconds)