渲染 endDate 就好像它们包含在内

Render endDate as if they're inclusive

我意识到按照设计,fullcalendar endDates 是排他性的,但鉴于我的限制,我正在寻求帮助来解决这个问题。

存储的数据是简单的英国日期格式:

YYYY-MM-DD

开始: 2015-01-18

结束时间:2015-01-19

我想保持普通全天事件的外观,而不是时间戳样式,我不能只 +1 结束日期,因为月底会发生什么?

我试过查看源 js,以删除其中的任何 -1 更正。这适用于我的多日活动,但会使一日活动看起来像两天活动。

场景。用户 select 开始日期和结束日期(他们的假期) 所以那可能是周一到周五。用户没有 select 时间,只有日期。他们自然会 select 包含他们想要的假期日期。

预期行为。
18/1/2015 - 18/1/2015 将突出显示一整天。

18/1/2015 - 19/1/2015 将突出显示整整两天(含天数)

18/1/2015 - 20/1/2015 将突出显示整整三天(含天数)

等..等

实际行为。

18/1/2015 - 18/1/2015 将突出显示一整天。

18/1/2015 - 19/1/2015 将突出显示 全天(不包括结束日)

18/1/2015 - 20/1/2015 将突出显示 两个 全天(不包括结束日)

愿意接受建议、修复、变通方法、肮脏的技巧。 谢谢

可能是我误会了,但这里有一个可能的解决方案。

eventDataTransform(为每个事件调用)内,为每个开始和结束日期添加一个时间。像

eventDataTransform: function(eventData){
    eventData.start.startOf('day');
    eventData.start.endOf('day');
}

感谢 slicedtoad 对 eventDataTransform 的提示。我只需要找到将结束日期实际加 1 的正确方法。对于任何好奇的人(我不确定我是否完全理解它是如何运作的),但一天的活动仍然是一天的活动,即使看起来我们在最后加了一个?

events:  
        {
        url: '<?php echo base_url();?>index.php/jsonfeed',
        error: function() 
              {
              alert('error');
               },
         },
eventDataTransform: function(eventData) 
        {
        eventData.end = moment(eventData.end).add(1, 'days').format();
        return eventData;
        },