FullCalendar - Event spanning all day are one day too short

后端 未结 2 1800
夕颜
夕颜 2021-01-11 15:00

I\'m passing to fullcalendar an event like this one:

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


        
相关标签:
2条回答
  • 2021-01-11 15:29

    Based on the eventDataTransform function you could add 1 day if your event is allDay. Note that this will only affect rendering.

    eventDataTransform: function(event) {                                                                                                                                
      if(event.allDay) {                                                                                                                                               
        event.end = moment(event.end).add(1, 'days')                                                                                                                 
      }
      return event;  
    }                                                                                                                                                  
    
    0 讨论(0)
  • 2021-01-11 15:41

    I believe this a conscious design decision, in that all end dates are to be regarded as exclusive, based on discussions like this and this, i.e. so despite being an all day event, your end date is not regarded as included (inclusive) of the dates tagged. e.g. If you have a start date of 2015-03-01 00:00:00 and an end date of 2015-03-02 00:00:00 the span is only one day.

    This seems to coincide with the version 2 upgrade to using moment.js. So it would appear you will either need to add '23:59:59' to your end date, or to find a a different way of specifying the end date, e.g. as a duration of two days added to the start date?

    0 讨论(0)
提交回复
热议问题