MongoDB java-driver插入日期

时间:2013-01-29 12:49:36

标签: mongodb date mongodb-java

我正在使用MongoDB 2.2和java-driver 2.10.1

我正在从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);

您可以在此调试屏幕截图中查看从我的事件对象引用的日期实例: enter image description here

时区有什么关系吗?或驱动程序中的错误?

1 个答案:

答案 0 :(得分:8)

MongoDB中的日期始终存储为UTC datetimes,因此您所看到的内容是正确的。

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