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