Fullcalendar 完整日历结束日期不包括在内

Fullcalendar 完整日历结束日期不包括在内,fullcalendar,Fullcalendar,我正在使用FullCalendar Beta2,我将全天标记设置为True。 日历仍然将结束日期视为唯一日期! 如何使结束日期包含在内 非常感谢。@ZooZ-根据Beta 2升级文档,截止日期现在是唯一的: 所有结束日期现在都是独占的。例如,如果全天活动结束 在周四,结束日期为周五的00:00:00。1.x 在这方面,版本有一些奇怪的规则。事情应该是这样的 现在更加简单,因为一致使用了独占的结束日期 在整个API中。此外,这种行为更符合 其他API和格式,如iCalendar 参考: 我只想在您

我正在使用FullCalendar Beta2,我将全天标记设置为True。 日历仍然将结束日期视为唯一日期! 如何使结束日期包含在内


非常感谢。

@ZooZ-根据Beta 2升级文档,截止日期现在是唯一的:

所有结束日期现在都是独占的。例如,如果全天活动结束 在周四,结束日期为周五的00:00:00。1.x 在这方面,版本有一些奇怪的规则。事情应该是这样的 现在更加简单,因为一致使用了独占的结束日期 在整个API中。此外,这种行为更符合 其他API和格式,如iCalendar

参考:


我只想在您的结束日期计算中添加一个来解决这个问题:)

您可以挂接eventAfterAllRender并更新事件的副本,并强制刷新日历

在我的示例中,修改仅适用于标记为allDay事件(allDay:true)的事件。我只修改事件数据的副本/克隆,因此它只更改显示,而不更改实际数据(我认为-我需要更好地测试它)。我添加了克隆功能,但如果您愿意,可以使用其他功能。我添加了ForceRenderToDisplay标志,使其只运行一次

这是一把小提琴:


我知道这是一种古老的现在,但随着结束日期是唯一的,我发现这个解决办法,而不必增加额外的天。 首先,将“显示时间”设置为false,这将使时间不会显示在事件上

 displayEventTime: false,
然后从事件中删除全天标记,我使用foreach循环来处理我从DB中提取的事件

$events=[
 "start_date"=>"2020-01-01 00:00:00",
 "end_date"=>"2020-01-04 00:00:00",
 "title"=>"My Event",
]

events:[
<?php foreach ($events as $event):?>
<?php echo "{start:'".$event["start_date"]."',end:'".$event["end_date"]."',title:'".$event["title"]."'}},";?>
<?php endforeach;?>
],
$events=[
“开始日期”=>“2020-01-01 00:00:00”,
“结束日期”=>“2020-01-04 00:00:00”,
“标题”=>“我的活动”,
]
活动:[

allDay=“true”!=allDay=true我使用true(作为布尔值,而不是字符串),它的工作原理是不在请假正文上显示时间,但结束日期仍然是排他性的!要使其包含回去,只需在结束时添加一整天
end=new date(+end+60*60*24*1000)
是谁否决了这个问题?你能给我们举一个填充完整cal以使结束日期包含在内的例子吗?通过调整大小和拖放来播放“美好的月视图”还有额外的好处吗?@JerryA你只需在事件的
结束
上加上1秒。我从服务器发送我的事件(用Ruby)这里是我如何制作结束日期的快照,其中end_at是Postgres的日期时间:
e={}
e[:start]=self.start_at.to_time.iso8601
e[:end]=(self.end_at+1.to_time.iso8601
```
$events=[
 "start_date"=>"2020-01-01 00:00:00",
 "end_date"=>"2020-01-04 00:00:00",
 "title"=>"My Event",
]

events:[
<?php foreach ($events as $event):?>
<?php echo "{start:'".$event["start_date"]."',end:'".$event["end_date"]."',title:'".$event["title"]."'}},";?>
<?php endforeach;?>
],
          <?php $date = DateTime::createFromFormat("Y-m-d H:i:s", $event["end_date"]);
             $date->setTime(0, 0);
             // Add 23 hours
             $date->add(new DateInterval('PT23H'));?>
events:[
    <?php foreach ($events as $event):?>
      <?php $date = DateTime::createFromFormat("Y-m-d H:i:s", $event["end_date"]);
      $date->setTime(0, 0);
      // Add 23 hours
      $date->add(new DateInterval('PT23H'));?>
 <?php echo " 
 {start:'".$event["start_date"]."',end:'".$date->format('Y-m-d H:i:s')."', 
 title:'".$event["title"]."'}},";?>
  <?php endforeach;?>
 ],