0
用戶在我的Web應用程序的頁面上選擇日期和時間(如果有問題,請使用Grails)。我知道用戶的時區(他們在用戶首選項中設置它)。我現在要將該日期保存爲數據庫,如UTC(使用Hibernate,如果這很重要)。將日期保存爲數據庫爲UTC
所以,這裏是我的域類:
class Even {
Date startTime
}
我有點想,我想這樣做:
def beforeInsert() {
startTime = new DateTime(startTime, user.timeZone).withZone(TimeDateZone.UTC).toDate()
}
但toDate()
在剛剛結束返回相同startTime
與我開始(因爲日期沒有我認爲的時區信息)。
那麼,如何獲得用戶提供的Date
(考慮到他們的時區)並將其作爲UTC持久保存到數據庫?
我正在考慮做類似new Date() - user.timeZone.rawOffset
的事情,但後來我不得不處理夏令時節省,而且感覺非常容易出錯。
看看這個:http://stackoverflow.com/questions/11294307/convert-java-date-to-utc-string – MihaiC
http://stackoverflow.com/questions/12208305/grails-saves-datetime -as-UTC時間,但是,讀入它,作爲本地服務器時間 – user1690588