【问题标题】:Weirdness with dates in JavascriptJavascript中日期的奇怪之处
【发布时间】:2017-04-02 17:52:16
【问题描述】:

我在 mongodb 中存储日期对象。当我把它们拿出来时,我会得到这样的东西:

"2016-10-18T10:53:31.851Z"

当我将该字符串放入日期函数时,我得到了:

Date("2016-10-18T10:53:31.851Z")
"Fri Nov 18 2016 14:15:44 GMT-0500 (EST)"

注意分钟和秒,甚至月份看起来都不正确。小时好像差了一个。这是为什么呢?

【问题讨论】:

  • "Z" 表示祖鲁时间 (UTC)。
  • 您将 Date 作为函数调用,而不是作为构造函数。当作为函数调用时,它不接受任何参数,只返回一个表示当前日期和时间的字符串,格式取决于实现。请参阅20.3.2The Date Constructor:“当 Date 作为函数而不是构造函数调用时,它返回一个表示当前时间 (UTC) 的字符串。”。 “UTC”部分是随 ECMAScript 2016 添加的,因此并非所有实现都符合。

标签: javascript mongodb date


【解决方案1】:

以您正在执行的方式调用 Date 会生成当前日期和时间。要基于该字符串创建变量,请使用

new Date("2016-10-18T10:53:31.851Z")
Tue Oct 18 2016 03:53:31 GMT-0700 (Pacific Daylight Time)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    相关资源
    最近更新 更多