1
我以我的存儲服務器上的時間戳在UTC時間使用DateTime
:喬達時間和Hibernate - 日期越來越不存儲在UTC
// @Entity ..
@NotNull
@Column(name="DATE")
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime date;
在服務器開機我這樣做:
DateTimeZone.setDefault(DateTimeZone.UTC);
確保new DateTime()
總是會在UTC時間,這是我如何準備的日期得到存儲:
DateTime utc = new DateTime();
utc = utc.dayOfMonth().roundFloorCopy();
DateTime thisMonday = utc.withDayOfWeek(DateTimeConstants.MONDAY);
DateTime thisTuesday = thisMonday.plusDays(1);
如果我正在調試,我會看到例如
2015-08-31 00:00:00
和2015-09-01 00:00:00
但我看看我看到
2015-08-31 02:00:00
和2015-09-01 02:00:00
得到存儲在那裏的數據庫。它是+ 2h這是我本地的UTC抵消(柏林/維也納)。
爲什麼會發生這種情況,我如何確保我的服務器存儲所有UTC時間?