我正在研究一個應用程序,我需要維護來自不同位置的時間。我在Java中使用Date,Timezone類。我的問題是 - 時區類是否知道夏令時的詳細信息?就像如果時區通過某個時區,它是否會返回考慮DST的正確時間?Timezone是否包含DST信息?
編輯:
跟進 - 爲什麼inDaylightTime()實現爲抽象的,只能用的SimpleTimeZone使用在您指定的開始/結束白天的時間?
我正在研究一個應用程序,我需要維護來自不同位置的時間。我在Java中使用Date,Timezone類。我的問題是 - 時區類是否知道夏令時的詳細信息?就像如果時區通過某個時區,它是否會返回考慮DST的正確時間?Timezone是否包含DST信息?
編輯:
跟進 - 爲什麼inDaylightTime()實現爲抽象的,只能用的SimpleTimeZone使用在您指定的開始/結束白天的時間?
是的,JVM的日期類是時區感知的。
政府定期更新TimeZones的DST信息,如果您的應用程序執行跨時區計算,則需要相應更新JVM。當這種情況發生變化時,Oracle爲JVM發佈更新。請參閱Timezones, Daylight Savings, and the Sun TZupdater for the Java Runtime Environment (JRE)
根據我的經驗,用於處理此問題的核心Java類非常難以使用。我從Joda Time得到更好的結果。 (Joda-Time也尊重潛在的時區信息)。
時區是 DST意識到。
不知道你試圖達到什麼。 Timezone.getDSTSavings()可能是你需要的東西