FullCalendar - 整天的活动有一天太短了

Soe*_*oel 11 javascript jquery fullcalendar

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

{
     id: 31,
     title: 'Test',
     start: '2014-12-22',
     end: '2014-12-23',
     allDay: true
}
Run Code Online (Sandbox Code Playgroud)

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

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

met*_*gfu 8

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

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


Stu*_*tLC 5

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

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

  • 如果是这样的话,这是一个可怕的决定 (11认同)