2011-11-29 110 views
1

我正在坐在一個非常奇怪的問題上,使用grails和js fullcalendar。Grails Fullcalendar時區問題

我有自己的時區存儲在數據庫中的用戶,例如ECT

當用戶插入他們的事件時,所有日期都以UTC存儲。這在Bootstrap中設置爲:

 TimeZone.setDefault(TimeZone.getTimeZone("UTC")) 

我聽說過將所有日期存儲爲UTC的好主意。因此,當德國用戶進入1.12.2012 08:00時,它將與1.12.2012 07:00一起存儲。這可以。

現在,當我想從數據庫中顯示這些值到日曆中時區不被fullcalendar(我設置ignoreTimezone:false),所以日期通過json與2012-12-01 08:00 + 01 :00,但其顯示爲上午08:00而不是07:00。我在這裏做錯了什麼?這個問題讓我非常瘋狂。

+0

你能檢查這個帖子,看看這是否有幫助..http://stackoverflow.com/questions/5724142/fullcalendar-and-timezones-help-im-doing-it-wrong。 –

+0

我已經檢查過這個帖子,但在我的情況下,完整的日曆不顯示正確的值。問題是,如果我將2012-12-01 08:00 + 01:00的值傳遞給完整日曆,應該顯示什麼時間? – Gambo

回答

0

你可以通過在javascript中手動添加事件來檢查嗎?我想問題是使用JSON格式。 fullcalendar.js中的parseISO8601函數期望您的對象具有某種格式,因此如果您的格式不正確,則必須進行實驗並查看其效果。

從fullcalendar網站引用。

當指定事件或eventSources事件對象,你可以 指定IETF格式的字符串(例如:「星期三,2009年13:00:00 EST 10月18日」), 在ISO8601格式的字符串(如:「2009-11-05T13:15:30Z」)或UNIX 時間戳。