FullCalendar – 整天的活动太短了一天

我正在传递fullcalendar这样的事件:

{ id: 31, title: 'Test', start: '2014-12-22', end: '2014-12-23', allDay: true } 

我希望在日历中找到一个跨越两天的活动,但活动仅在2014-12-22时段,而不是2014-12-23 。 nextDayThreshold参数设置为00:00:00 ,但根据文档,当allDay设置为true时,应忽略该参数。 我确信allDay被正确解释,因为在议程视图中,事件出现在全天行中。

如何设置fullcalendar以在两天内显示此类事件?

我认为这是一个有意识的设计决定,因为所有结束日期都被认为是排他性的,基于这样和这样的讨论,即尽管是一整天的活动,但你的结束日期不被视为包含(包括)日期标记。 例如,如果您的开始日期为2015-03-01 00:00:00 ,结束日期为2015-03-02 00:00:00跨度仅为一天。

这似乎与使用moment.js的版本2升级相吻合 。 因此,您可能需要在结束日期添加’23:59:59’,或者找到指定结束日期的不同方式,例如将两天的持续时间添加到开始日期?

根据eventDataTransform函数 ,如果您的活动是allDay,您可以添加1天。 请注意,这只会影响渲染。

 eventDataTransform: function(event) { if(event.allDay) { event.end = moment(event.end).add(1, 'days') } return event; }