当前位置: 首页 > 编程语言 > C#

正确InsertDateTimefromc#tomongodb分享

时间:2023-04-10 18:36:12 C#

正确insertDateTimefromc#tomongodb我尝试在MongoDB中插入本地时间vartime=DateTime.Now;//03.05.201418:30:30varquery=newQueryDocument{{"time",nowTime}};collection3.Insert(查询);但在数据库中我看到ISODate("2014-05-03T15:30:30.170Z"),必须是ISODate("2014-05-03T18:30:30.300Z")。请帮我!我认为你混淆了时区。字符串末尾的Z表示它是UTC。当您发布此问题时,刚好是世界标准时间15:30之后。我强烈怀疑正在记录正确的时间-但是它被记录为及时,没有参考特定时区。然后您可以将其转换为您以后想要的任何时区,但记录UTC时间几乎总是正确的方法。UtcNow,使用UtcNow可以更清晰的开始。这样你就不想得到“本地”时间。查看MongoDB文档,内部表示似乎是自Unix纪元以来的几毫秒-因此再次没有时区或UTC与本地时间之间的偏移量。如果你想存储一个可以转换回你在记录时看到的本地时间的值(即使你现在处于不同的时区),你应该将时区ID和/或UTC偏移量存储为单独的值。这不是经常需要的,但它是一个选项。MongoDB驱动程序正在将DateTime转换为UTC。如果您不想打扰时区,可以将类型更改为UTC:time=DateTime.SpecifyKind(time,DateTimeKind.Utc);我不推荐这样做,因为数据库会存储“错误”的日期,但它会显示ISODate("2014-05-03T18:30:30.170Z")。只需通过“BsonDateTimeOptions”属性定义DateTime的“Kind”并将其设置为本地:[BsonDateTimeOptions(Kind=DateTimeKind.Local)]publicDateTimeSomeDateProperty{get;set;}它可以用于:以上是C#学习教程:从c#到mongodb正确插入DateTime分享的所有内容,如果对你有用,需要详细了解C#学习教程,希望大家多多关注—DateTimet=DateTime.Now;varupdate=Builders.Update.Set("key1",t.ToUniversalTime()).CurrentDate("key_updatetime");本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: