【问题标题】:Saving date in MongoDB getting offset even when providing time即使提供时间,在 MongoDB 中保存日期也会出现偏移
【发布时间】:2018-01-14 22:55:35
【问题描述】:

首先我会说我知道有很多与时区相关的问题和答案。也许我只是错过了一个明显的。

我正在尝试在 Mongo 中保存一个日期范围对 - 一个起始日期和一个截止日期。我希望在时间 00:00:00:00 保存起始日期,因此如果我运行查询以查找 >=2017-08-14,所有结果都会显示。

我的问题是即使我发送时间为 00:00:00.000Z 的日期,Mongo 实际上将其保存为 -400,这似乎相当于现在的 EDT 偏移量。这导致我要么在客户端纠正很多,要么只是显示和查询不正确的数据。一旦我得到正确的日期,我想在我的查询中一起忽略时间。

这是我要发送到 MongoDB 的范围

daterange: [ { from: 2017-08-14T00:00:00.000Z, to: 2017-08-31T00:00:00.000Z } ],

这就是该范围在 Mongo 中的存储方式

from: 2017-08-13 20:00:00.000,
to: 2017-08-30 20:00:00.000

我犯了什么超级愚蠢的菜鸟错误?感谢您的帮助。

编辑:这是一个愚蠢的错误。这篇文章帮助解决了这个问题。 Query for a specific date with MongoDB and NodeJS

当我用时刻创建日期时,我应该这样做:

moment(dateString).startOf('day')

【问题讨论】:

    标签: mongodb date mongoose


    【解决方案1】:

    这是一个愚蠢的错误。这篇文章帮助解决了这个问题。 Query for a specific date with MongoDB and NodeJS

    当我创建带有时刻的日期时,我应该这样做:

    moment(dateString).startOf('day');
    

    【讨论】:

      猜你喜欢
      • 2017-06-25
      • 2011-05-18
      • 2020-05-21
      • 2013-09-13
      • 2012-10-09
      • 1970-01-01
      • 2021-05-22
      • 2014-09-14
      • 2020-05-21
      相关资源
      最近更新 更多