我尝试在 MongoDB 中插入当地时间
var time = DateTime.Now; // 03.05.2014 18:30:30
var query = new QueryDocument
{
{ "time", nowTime}
};
collection3.Insert(query);
但在数据库中我看到ISODate("2014-05-03T15:30:30.170Z")
,
那一定是ISODate("2014-05-03T18:30:30.300Z")
.
请帮我!
我认为您对时区感到困惑。这Z
字符串末尾的 表示它采用 UTC。当您发布此问题时,时间正好是世界标准时间 15:30 过后。
我强烈怀疑正在记录正确的时间瞬间 - 但它被记录为时间瞬间,而不参考特定的时区。那么你可以convert稍后您想要的任何时区,但记录 UTC 时间几乎总是正确的方法。
顺便说一句,您可以使用以下方法使这一点更清楚UtcNow
首先。这样就更明显地表明您并不是在尝试获取“本地”时间。
查看 MongoDB 文档,内部表示似乎只是自 Unix 纪元以来的毫秒数 - 所以同样,它没有指示时区或 UTC 与本地时间之间的偏移量。如果您想存储一个可以转换回记录时看到的本地时间的值(即使您是now在不同的时区)您应该将时区 ID 和/或 UTC 偏移量存储为单独的值。这并不经常需要,但它是一种选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)