这是事件的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"
完整日历将其呈现为单日事件。我怀疑问题出在时区设置上,但无法理解到底是什么。
我尝试使用:ignoreTimezone: false
但没有帮助。
我想上面的 JSON 将从 16 日到 17 日(两天事件)渲染全天事件。
谢谢。
更新:我正在使用 FullCalendar v2.3.1,并且有一个指向 jsfiddle 的链接,它重现了这个问题:http://jsfiddle.net/anatoly314/m8d68v1b/4/
当前版本的 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'
它产生为期一天的事件。
看起来,如果您希望您的活动跨越两天,您需要将结束时间"四舍五入"到第二天的开始。