0

我从 JSON 字符串中获取了有效的 ISO8601,但它在完整日历中显示不正确。

使用 JAVA 格式化程序创建日期格式: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sZ") df.setTimeZone(TimeZone.getTimeZone("Europe/Berlin"))

日历配置:

忽略时区:假,timeFormat=H:mm{ - H:mm}

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
}
  • 取 start-time 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

非常感谢你!

干杯,

马可

4

1 回答 1

0

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

于 2011-12-02T13:40:35.267 回答