我從JSON字符串中取回有效的ISO8601,但它在fullcalendar中顯示不正確。fullcalendar解析ISO8601日期不起作用
創建與JAVA格式化日期格式: 的SimpleDateFormat DF =新的SimpleDateFormat( 「YYYY-MM-dd'T'HH:MM:ss.sZ」) df.setTimeZone(TimeZone.getTimeZone( 「歐洲/柏林」 ))
配置日曆的:
ignoreTimezone:假, TIMEFORMAT = H:毫米{ - H:毫米}
JSON-結果:
{
"id":1,
"title":"Date with Chuck Norris",
"start":"2011-12-02T09:30:00.0+0100",
"end":"2011-12-02T10:30:00.0+0100",
"color":"",
"allDay":false
}
- 取開始時間9:30是DB值,但+0100未被識別,因此顯示時間爲9:30,但這是錯誤的,必須是10:30。同爲結束日期
...
(得到肯定,這將是正確的解析,我做了配置的另一件事:) eventRender:函數(事件,元素){ event.start = $ .fullCalendar.parseDate(event.start); //也試過$ .fullCalendar.parseISO8601() event.end = $ .fullCalendar.parseDate(event.end); //也試過$ .fullCalendar.parseISO8601() }
與onEventRender和parseDate(),但沒有試過發生
試圖與onEventRender和parseISO8601() - >但沒有任何反應和JS-錯誤(見attachement:JS-error.png)
使用jQuery 1.6.3和最新fullcalendar 1.5.2
非常感謝您睦H!
乾杯,
馬爾科
嗨,仰慕者。 Thx爲您的答覆。 好的,我說得沒錯。如果我住在德國(使用utc +01:00),並且我得到的日期時間字符串如示例中最後顯示的+01:00所示,它不會發生任何事情,因爲我住在01:00範圍?那是有線的! 因此,如果我想在+ 02:00和相同的json結果爲+01:00的時區生活,它會創建-1小時= 08:30?我的理解是否正確? 所以在這種情況下,有什麼可以成爲fullcalendar的解決方案?有什麼建議麼?非常感謝你 – grailsInvas0r
應該在(+2:00)10:30。 fullcalendar中發生的情況是,創建的日期對象位於客戶端時區中,並且偏移量(60分鐘)應用於客戶端時區日期對象。因此,您必須牢記這一點。我認爲最好將ignoreTimeZone:true並在服務器端執行任何處理,以便fullcalendar只顯示給定的日期時間。 –