MongoDB java-driver插入日期

kra*_*dio 6 date mongodb mongodb-java

我正在使用带有java-driver 2.10.1的MongoDB 2.2

我正在将一个日期字段插入到java.util.Date实例的文档中.我的实例具有以下值:

Wed Oct 10 00:00:00 CEST 2012

但是一旦进入mongo,我就有了这个值: ISODate("2012-10-09T22:00:00Z")

我的插入代码:

BasicDBObject doc =  new BasicDBObject("key", event.getKey())
                    .append("title", event.getTitle())
                    .append("description",  event.getDescription())
                    .append("date",  event.getDate());
db.getCollection("events").insert(doc);
Run Code Online (Sandbox Code Playgroud)

您可以在此调试屏幕截图中查看从我的事件对象引用的日期实例: 在此输入图像描述

是否与时区有关?或驱动程序的错误?

Joh*_*yHK 8

MongoDB中的日期始终存储为UTC日期时间,因此您所看到的是正确的.

CEST时区比UTC(格林威治标准时间)早两个小时,所以你的时间正确的UTC表示比你的CEST时间早两个小时,这正是你所看到的.