問題的原因發生在把資料庫的時間轉換成我希望的時區,所以我寫了下面這個函數…
public Date getLocaleTime(Date date, String TimeZoneID) { DateTime time; if (date == null) time = new DateTime(DateTimeZone.forID(TimeZoneID)); else time = new DateTime(date, DateTimeZone.forID(TimeZoneID)); return time.toLocalDateTime().toDate(); }
乍看之下沒有什麼問題,不過當選擇到某些特定的時區的時候就會出狀況,說 Joda-Time 不支援這個 TimeZone ID。