我在处理java服务器和mongodb之间的日期时遇到问题。我正在使用Spring Data与MongoDB。我的java代码部署在Linux环境中的Tomcat中。 我已经验证了我的Java linux盒子上的服务器时间与运行MongoDB的linux盒子相同。
查找对象的一个简单示例给出了我在上次修改日期字段中的差异。
public Note getNoteById(String noteId) {
Query q = new Query().addCriteria(Criteria.where("_id").is(noteId));
return mongoTemplate.findOne(q, Note.class);
}
在Note
类中,我有一个最后修改过的字段,它是一个java Date
。但是,当我检索java对象时,我发现上次修改日期与数据库值的不同是6-7小时。
@Document(collection = "notes")
public class Note {
@Indexed
private String id;
private String title;
private Date lastModifiedDate;
...
上次修改日期字段的数据库值为ISODate("2016-05-09T18:51:02.000Z")
。但是,当我在Java中阅读Note
文档时,我发现Java中的Note
对象的日期为Mon May 09 11:51:02 PDT 2016
,与DB值的差异为7小时。
你能帮忙吗?