【问题标题】:Time mismatch in mongo shellmongo shell中的时间不匹配
【发布时间】:2016-02-02 17:34:02
【问题描述】:

当我获取日期对象并在 mongo shell 中打印它时,它显示两个不同的时间,如下所示:

>new Date()
2012 年 2 月 6 日星期一 18:49:40 GMT+0530 (IST)
>printjson({created_at: new Date()})
{ created_at : ISODate("2012-02-06T13:19:40.313Z") }

两次不一样,我错了。

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    这是因为 mongodb 总是以 UTC 格式存储日期,但 javascript 显示您的本地时间。和 printjson 内部 mongodb shell 函数,将日期从本地时区转换为 utc 格式。所以它显示从您当前时间向后 -5.30 小时。

    【讨论】:

    • 我希望第一次以json格式打印,任何建议。因为我在条件语句中使用了相同的日期对象,所以它给了我错误的结果。
    【解决方案2】:

    时代没有不同,完全一样!它只是在不同时区表示的相同时间。 ISODate 中的“Z”表示“UTC”(或者有些人试图称之为:GMT)。您使用的是 GMT+0530 的 IST(我猜是印度标准时间)。 18:49:40 @ GMT+5:30 与 13:19 @ GMT 完全相同。

    当我运行你在 shell 上显示的相同代码时,我得到:

    > 新日期() ISODate("2012-02-06T13:34:10.667Z")

    如您所见,“Z”也是如此。也许您正在运行旧版本的 shell?

    干杯, 德里克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      • 2017-01-31
      • 2022-01-22
      • 1970-01-01
      相关资源
      最近更新 更多