我對MultiTimeZone和/或本地日期沒有太多經驗,所以我在這方面弄髒了我的手,但我不知道如何以及從何處開始,所以我輕輕:-)如何處理播放中的MultiTimeZone和本地時間/日期
我有兩種類型的日期(時間)字段:
- 日期(存儲天,月,年)
- 日期時間(同1,但包括時間)
How我應該在Play中定義我的屬性嗎?
@Formats.DateTime(pattern="MM-dd-yyyy")
public Date reqCompletionDate;
,或者我應該去JodaTime(之前從未使用過它):
@Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
public DateTime reqCompletionDate;
如果我去java.util.Date
,我怎樣才能將其轉換成用戶本地Date format
(即YYYY-MM-DD )?由於格式問題,播放自動綁定會失敗,所以我需要爲它創建一個自定義文件夾?這會影響我所有的Date
字段,對不對?
或者您會建議爲所有日期(時間)字段使用getter和setter,以便我可以通過用戶Locale
以獲得正確的時間。在這種情況下,Play的自動綁定將失敗,我仍然需要一個自定義綁定器,用於Date
和DateTime
?
還是我過度思考這一切,並應以不同的方式處理這個問題?謝謝你的想法!
UPDATE: 2012-07-23: I think I will follow these steps:
步驟1:請開始播放,並與UTC時區初始化
步驟2:讓所有的日期時間字段相同的格式,按照UTC時區
步驟3 :儘可能晚地轉換爲用戶當地時間
當用戶發佈包含的表單時儘快將其轉換爲UTC時間。如果我有時間,我會在這裏發佈我的代碼。