2017-02-10 156 views
1

在我的系统中,我使用插件完整日历。出于某种原因,在列举我的活动时,这标志着我在实际日期前一天。这个问题在所有版本中。有没有可能修改这个属性?在fullcalendar.js中修改日期

+0

你能否提供一个演示你的问题的例子? –

+0

@MitBhatt问题是,当我在完整的日历中显示我的事件时,所有的工作都很好,但是例如我有一个事件,开始日期为2017-02-10,结束日期为2017-02-14,完整的日历表示我独自一人直到2012年2月13日。少一天,我想知道这是我必须在插件中配置的东西吗? – max

+0

尝试设置完整日历的时区。可能是你的数据库或前端的utc,反之亦然。 https://fullcalendar.io/docs/timezone/timezone/。 –

回答

2

我有这个确切的问题:

检查这里的文档:https://fullcalendar.io/docs/event_data/Event_Object/

end属性:

独特的日期/时间的事件结束。可选的。

一个矩形输入,就像一个ISO8601字符串。在整个API中,这个 将成为一个真正的Moment对象。

这是事件结束后的那一刻。例如,如果活动的最后一天是星期四,则 将在星期五的 活动的专用结束时间为00:00:00!

解密有点棘手,但我发现它基本上意味着排除了事件的结束日期。

为了解决这个问题,我为跨越多天的任何事件添加了额外的一天。您可以在eventDataTransform property

eventDataTransform: function(eData){ 
      if(! eData.end || ! eData.start || eData.className == 'fc-nonbusiness'){ 
       return eData; 
      } 

      eData.start = moment(eData.start).utc(); 
      eData.end = moment(eData.end).utc(); 

      if (eData.start != eData.end) { //Add a day because full day events exclude the end day by default 
       eData.end.add(1, 'days'); 
      } 
      return eData; 
     }, 

这只是从我的代码,我写了一年前在位添加此。您可能需要调整它以适合您的工作。