javascript日期()对象返回有效但不新的日期()

问题描述:

var d = Date("12:00 AM")作为日期返回就好了,但是当试图创建它的一个实例时new Date("12:00 AM")它返回'无效日期'。javascript日期()对象返回有效但不新的日期()

我找到了解决办法here,使用moment.js,工作正常,但我想知道为什么用“新的日期()”

感谢时得到“无效的日期”

fiddle

+6

'Date()'(不含'new')不带参数,只是将当前日期作为字符串生成 – Bergi 2014-09-21 17:54:23

+1

'12:00 AM'只是一个时间,不是日期,因此信息太少制定有效的日期时间。你会期望什么输出? – Bergi 2014-09-21 17:55:17

从MDN:

注:请注意,JavaScript的Date对象只能通过电话 实例JavaScript Date作为构造函数:将其称为常规的 函数(即,没有新的操作员)将返回一个字符串,而不是Date对象的字符串 ;与其他JavaScript对象类型不同,JavaScript Date对象没有文字语法。

...

调用JavaScript的Date作为函数(即没有新 运营商)将返回一个表示当前日期和时间的字符串。

您调用的第一个版本忽略参数(并且实际上并不生成日期)。