gpt4 book ai didi

MongoDB 时区

转载 作者:可可西里 更新时间:2023-11-01 09:20:13 44 4
gpt4 key购买 nike

我写入我的 mongoDB 数据库,例如开始日期,开始日期始终是一周中的星期一(我使用并且我在欧洲中部时区)。

"startDate" : ISODate("2014-12-28T23:00:00Z"), 
"startDate" : ISODate("2015-03-29T22:00:00Z")
"startDate" : ISODate("2015-04-05T22:00:00Z"),
"startDate" : ISODate("2015-10-25T23:00:00Z")

我很困惑,因为有时日期格式是:

2014-12-28T23:00:00Z  (sunday, 23h)

有时是:

2015-04-05T22:00:00Z (sunday, 22h)

在 Java 代码中,日期是星期一,00h -> 这没问题。有谁知道这里发生了什么,为什么记录的时间不同以及如何防止这种情况发生?

最佳答案

夏令时

MongoDB 将日期存储在 UTC 中默认。

由于您处于中欧时区,这意味着存在一小时或两小时的差异,具体取决于日期是在 Daylight Saving Time (DST) 之内还是之外。时期。 2015 年夏令时从 3 月 29 日开始,到 10 月 25 日结束。因此,12 月 28 日有 1 小时的偏移,4 月 5 日有 2 小时的偏移。

如果您想避免这种情况,您应该在将本地日期时间值保存到 MongoDB 之前将其转换为 UTC 时间。或者,正如 Markus Mahlberg 指出的那样,在加载日期后转换为本地时间。

关于MongoDB 时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34085053/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com