6

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);

このデバッグ スクリーンショットで、イベント オブジェクトから参照されている日付インスタンスを確認できます。 ここに画像の説明を入力

タイムゾーンと関係がありますか?それともドライバーのバグ?

4

1 に答える 1

8

MongoDB の日付は常にUTC datetimesとして保存されるため、表示されている内容は正しいです。

CEST タイム ゾーンは UTC (GMT) より 2 時間進んでいるため、時刻の正しい UTC 表現は CEST 時刻より 2 時間早く、まさに表示されているものです。

于 2013-01-29T13:59:19.300 に答える