为什么MongoDB ObjectId创建时间与用于其创建的日期时间不同



我正在使用 c# 1.11 驱动程序为 mongodb。我注意到,当我使用 date 创建对象 ID 和使用 CreationTime 属性获取日期时间时,它是不同的。

谁能解释为什么会这样?

使用日期 10/14/2016 12:00:00 AM

var date = DateTime.ParseExact("20161014000000","yyyyMMddHHmmss", CultureInfo.InvariantCulture);

创建对象标识

ObjectId oid = new ObjectId(date, 0 , 0 , 0);
oid.CreationTime // returns 10/14/2016 7:00:00 AM

可能是因为mongo默认将其修改为UTC(mongo的文档(: "MongoDB默认以UTC存储时间,并将转换任何本地时间 表示为这种形式。必须操作或报告某些应用程序的应用程序 未修改的本地时间值可能会将时区与 UTC 时间戳一起存储, 并在他们的应用程序逻辑中计算原始本地时间。

最新更新