小编典典

MongoDB,Java:将日期属性检索为UTC

java

我正在将一些实体保存到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返回存储在日期中的时区?

提示表示感谢,谢谢!


阅读 311

收藏
2020-11-30

共1个答案

小编典典

驱动程序以java.util.Date对象的形式返回数据库所具有的内容。它对时间所代表的时区一无所知。它不会在任何地方存储时区。Mongo
Shell始终将时间值表示为UTC。

话虽如此,如果您想始终像UTC一样在应用程序代码中使用它,我认为有一种方法可以告诉JODA库做到这一点:
将Jodatime的DateTime的日期时区默认为UTC

2020-11-30