我尝试在MongoDB中插入本地时间

var time = DateTime.Now; // 03.05.2014 18:30:30

var query = new QueryDocument
{
   { "time", nowTime}
};

collection3.Insert(query);

但在数据库中,我看到了
那一定是。
请帮帮我!

最佳答案

我觉得你被时区弄糊涂了。字符串末尾的Z表示它是用UTC表示的。当你发布这个问题时,刚好在15:30 UTC之后。
我强烈怀疑记录的是正确的时间瞬间——但它被记录为时间瞬间,而没有参考特定的时区。然后,您可以将其转换为以后需要的任何时区,但是记录UTC时间几乎总是正确的方法。
顺便说一句,您可以使用UtcNow开始,使其更清晰。这样就更明显了,你不是在争取一个“本地”时间。
查看mongodb文档,内部表示似乎只是自unix epoch以来的一个毫秒数——同样,它没有时区或UTC和本地时间之间的偏移。如果要存储一个值,该值可以转换回记录时看到的本地时间(即使您现在位于其他时区),则应将时区ID和/或UTC偏移量存储为单独的值。这不是经常需要的,但这是一种选择。

关于c# - 从C#到mongodb正确插入DateTime,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23446414/

10-15 22:18