我正在将一些实体保存到Mongo数据库中,这些实体具有将UTC设置为时区的Joda DateTime属性。虽然保存工作正常,并且在集合中看到具有正确值的属性,但是一旦我通过Java检索到实体,时区就会再次设置为UTC + 2。
在集合中:
"created" : ISODate("2013-07-26T20:36:57.890Z")
我正在使用Spring-Data-MongoDB访问数据库。
Category category = mongoTemplate.findById(id, Category.class);
我最终得到了这一点:
2013-07-26T23:05:56.439+02:00
有没有办法告诉Mongo返回存储在日期中的时区?
提示表示感谢,谢谢!
驱动程序以java.util.Date对象的形式返回数据库所具有的内容。它对时间所代表的时区一无所知。它不会在任何地方存储时区。Mongo Shell始终将时间值表示为UTC。
话虽如此,如果您想始终像UTC一样在应用程序代码中使用它,我认为有一种方法可以告诉JODA库做到这一点: 将Jodatime的DateTime的日期时区默认为UTC