fullcalendar解析ISO8601日期不起作用

时间:2011-12-02 10:11:43

标签: json parsing date fullcalendar iso8601

我从JSON字符串中获取了有效的ISO8601,但在fullcalendar中显示不正确。

使用JAVA格式化程序创建日期格式: SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd'T'HH:mm:ss.sZ”) df.setTimeZone(TimeZone.getTimeZone( “欧洲/柏林”))

日历配置:

ignoreTimezone:false, timeFormat = H:mm { - H:mm}

JSON-Result:

{
    "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:function(event,element){                     event.start = $ .fullCalendar.parseDate(event.start); //也试过$ .fullCalendar.parseISO8601()                     event.end = $ .fullCalendar.parseDate(event.end); //也试过$ .fullCalendar.parseISO8601() }

  • 尝试使用onEventRender和parseDate()但没有任何反应

  • 尝试使用onEventRender和parseISO8601() - >但没有任何反应和JS-Error(参见附件:js-error.png)

使用jquery 1.6.3和最新的fullcalendar 1.5.2

非常感谢!

干杯,

1 个答案:

答案 0 :(得分:0)

根据我的理解,您的日期格式[2011-12-02T09:30:00.0 + 0100]表示欧洲/柏林格式的9:30。我尝试创建活动,我的系统设置为GMT格式,并在日历中显示为8:30。如果您通过此格式并在同一时区(欧洲/柏林)查看,则不会有任何差异。