2013-07-26 80 views
0

我正在將一些實體保存到Mongo數據庫,它們具有將UTC設置爲時區的Joda DateTime屬性。雖然保存工作正常,我看到集合中正確值的屬性,但一旦我通過Java檢索實體,時區將再次設置爲UTC + 2。MongoDB,Java:檢索日期屬性爲UTC

這是集合中:

"created" : ISODate("2013-07-26T20:36:57.890Z") 

我使用Spring的數據的MongoDB來訪問數據庫。

Category category = mongoTemplate.findById(id, Category.class); 

我結束了與此:

2013-07-26T23:05:56.439+02:00 

有沒有辦法告訴蒙戈做回存儲在日期的時區?

提示表示感謝,謝謝!

+1

其實蒙戈返回它是什麼的數據庫,但是你的程序使用本地設置打印它。我認爲這是問題。 – innoSPG

回答

1

驅動程序正在返回數據庫作爲java.util.Date對象的內容。它對時間表示的時區一無所知。它不在任何地方存儲時區。 Mongo Shell始終將時間值顯示爲UTC。

話雖這麼說,如果你想用它工作在應用程序代碼UTC往常一樣,我覺得有一種方法來告訴JODA庫做到這一點:Defaulting date time zone to UTC for Jodatime's DateTime

+0

太好了,謝謝。爲Joda設置默認時區。 –