gpt4 book ai didi

c# - 将日期时间从 C# 保存到 MongoDB

转载 作者:IT老高 更新时间:2023-10-28 13:36:03 24 4
gpt4 key购买 nike

我尝试使用值将日期时间值从 C# 保存到 MongoDB:

DateTime.ParseExact("10/02/2015", "dd/MM/yyyy", CultureInfo.InvariantCulture)

但在 MongoDB 中出现:

ISODate("2015-02-09T17:00:00.000Z")

我不知道为什么 MongoDB 结果晚于一天(日期:9),而我的日期是 10。感谢您阅读我的问题

更新 1:作为#mnemosyn 的回答,我做了一些改变:

DateTime.SpecifyKind((DateTime.ParseExact("20/07/2015", "dd/MM/yyyy", CultureInfo.InvariantCulture)), DateTimeKind.Utc)

结果:ISODate("2015-07-20T00:00:00.000Z")

更多详情:DateTime.ToLocalTime Method

最佳答案

问题在于解析的日期不被视为 UTC 日期。 02-09+7h 正好是 02-10...

DateTime 有一个名为 Kind 的属性,它的类型是 DateTimeKind。这些可以是 LocalUTCUnspecified。如果您正在解析的字符串没有指明是哪一个,the returned DateTime.Kind will be Unspecified .然后,MongoDB 驱动程序将其转换为 UTC,因为这通常是人们在想到 DateTime 时所期望的。

请注意,“始终将 UTC 存储在数据库中”的口头禅并不总是正确的,例如巴士时刻表。

关于c# - 将日期时间从 C# 保存到 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30205141/

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