有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

MongoDB,Java:以UTC格式检索日期属性

我正在将一些实体保存到Mongo数据库中,这些实体具有Joda DateTime属性,并将UTC设置为时区。虽然保存工作正常,并且我在集合中看到具有正确值的属性,但一旦我通过Java检索实体,时区将再次设置为UTC+2

这是收藏中的:

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

我正在使用SpringDataMongoDB访问数据库

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

最后,我得出以下结论:

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

有没有办法告诉Mongo返回日期中存储的时区

谢谢,谢谢


共 (1) 个答案

  1. # 1 楼答案

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

    这就是说,如果您想像UTC一样在应用程序代码中使用它,我认为有一种方法可以告诉JODA库这样做:Defaulting date time zone to UTC for Jodatime's DateTime