java - Spring Mongodb 时间戳时区误导

标签 java mongodb datetime timezone spring-data-mongodb

我正在使用 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 时间戳?

最佳答案

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

关于java - Spring Mongodb 时间戳时区误导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34791481/

相关文章:

java - 从二维数组中获取 5 个最低值及其索引

node.js - MongoDB 聚合 - $lookup 性能

python - 如何在 Pandas 中选择 'last business day of the month'?

javascript - 使用 moment.js 解析带有时区偏移的时间

c# - 错误,尝试 ParseExact 时间字符串时,字符串未被识别为有效的 DateTime

java - 简化java流以查找重复属性

java - 在 Tomcat CP 中找不到 DB2 驱动程序,但 Commons 工作正常?

java - Jersey MultiPartRequest 接收 null

mongodb - 命令失败,错误 16020 (Location16020) : 'Expression $eq takes exactly 2 arguments. 1 were passed in.' on server localhost:27017

javascript - 在 Mongodb + Mongoose.js 中动态查询嵌套对象