为什么FullCalendar将此事件呈现为单日活动?

时间:2015-04-19 16:24:43

标签: javascript fullcalendar

这是事件的JSON表示:

    "id" : 253,
    "title" : "16-17",
    "allDay" : true,
    "start" : "2015-04-16T00:00:00.000+03:00",
    "end" : "2015-04-17T00:30:00.000+03:00"

FullCalendar将其呈现为单日活动。我怀疑问题出在时区设置中,但无法理解究竟是什么。

我试图使用:ignoreTimezone: false但它没有帮助。

我认为上面的JSON将从16日到17日(两天活动)呈现全天活动。

谢谢。

更新: 我使用的是FullCalendar v2.3.1,并且有一个指向jsfiddle的链接可以重现此问题:http://jsfiddle.net/anatoly314/m8d68v1b/4/

1 个答案:

答案 0 :(得分:1)

当前版本的FullCalendar中的所有自动化测试似乎都不包括开始日期和结束日期包括时间并且设置了allDay选项的情况。

文档表明结束日期是独占的。我强烈怀疑发生的事情是allDay : true,fullCalendar正在剥离开始和结束日期的时间并将它们视为T00:00:00。此时,您的活动的开始时间为2015-04-16T00:00:00.000,结束时间为2015-04-17T00:00:00.000,与您看到的行为相符。事实上,如果你从数据中省略时间并给它:

start: '2015-04-16',
end: '2015-04-17'

它会产生为期一天的活动。

如果您希望活动延长两天,您需要将结束时间“整理”到第二天的开头。