Spring Mongodb时间戳时区误导

问题描述 投票:2回答:2

我正在使用Spring Data MongoDB。当我保存一些记录时,MongoDb无法正确保存我的时间戳。

这是我在Spring的时间戳字段。

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private Date timestamp = new Date();

我的MongoDB记录。

{
"_id": ObjectId("5697a672ce2a8e5347d86afd"),
"batteryLevel": 100,
"beaconClass": 3,
"beaconId": "dsadsa",
"timestamp": ISODate("2016-01-14T13:45:22.702Z")
}

当我登录控制我的时区和日期时,我发现它是正确的。

Eastern European Time
Asia/Istanbul
Thu Jan 14 15:45:22 EET 2016

如何更正MongoDB时间戳的时间?

java mongodb datetime timezone spring-data-mongodb
2个回答
4
投票

MongoDB默认以UTC格式存储时间,并将任何本地时间表示转换为此形式,请参阅documentation。您必须在应用程序逻辑中计算原始本地时间。


0
投票

我也使用弹簧启动弹簧数据。即使Mongo以UTC格式存储我当前的时区(CEST),当我使用来自MongoRepository的查询检索它时,它会自动进行转换并检索所需的数据。

© www.soinside.com 2019 - 2024. All rights reserved.