0
我在MongoDB中现有的数据格式为这样:反序列化ISODate对象到Java POJO
"created_at" : ISODate("2011-11-25T18:17:16Z")
当我尝试反序列化到使用吗啡的Java POJO,它给人的日期系统时区适用,而不是日期GMT日期。
/**
* The Class AggregationQueryDetails.
*/
public class AggregationQueryResultTriggeredPolicyDetails {
/** The triggered time. */
private Date created_at;
/** The event ids. */
private List<String> event_ids;
/**
* @return the CreatedAt
*/
public Date getCreatedAt() {
return created_at;
}
/**
* @param CreatedAt
* the CreatedAt to set
*/
public void setCreatedAt(Date createdAt) {
this.created_at = createdAt;
}
}
我该如何避免时区转换?
您可以添加相关的代码,你的POJO类?什么是你的Java和吗啡版本?您是如何验证日期是否在您当地的时区? – Veeram
添加pojo类。 getCreatedAt方法将转换为本地时间值而不是实际时间。这是在调试我的代码时观察到的。 –
这就是答案中提到的预期行为。 Date中保存的内部时间值是UTC值。所以你应该没问题。如果你在java 8上,你应该使用java.time.Instant。 – Veeram