【问题标题】:javascript Date() object returns valid but not new Date() [duplicate]javascript Date() 对象返回有效但不是新的 Date() [重复]
【发布时间】:2014-09-21 17:51:23
【问题描述】:

var d = Date("12:00 AM") 作为日期返回就好了,但是在尝试创建它的实例时 new Date("12:00 AM") 它返回“无效日期”。

我找到了一个解决方案here,使用moment.js,效果很好,但我想知道为什么在使用'new Date()'时会得到'Invalid Date'

谢谢

fiddle

【问题讨论】:

  • Date()(没有new)不带参数,只是将当前日期作为字符串生成
  • 12:00 AM 只是一个时间,而不是一个日期,因此信息太少,无法生成有效的日期时间。你期望什么输出?

标签: javascript


【解决方案1】:

来自 MDN:

注意:请注意,JavaScript Date 对象只能通过以下方式实例化 调用 JavaScript Date 作为构造函数:将其作为常规调用 函数(即没有 new 运算符)将返回一个字符串而不是 比Date 对象;与其他 JavaScript 对象类型不同,JavaScript Date 对象没有文字语法。

...

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    相关资源
    最近更新 更多