Javascript 如何将fullcalendar定期事件的结束时间延长到第二天?

Javascript 如何将fullcalendar定期事件的结束时间延长到第二天?,javascript,fullcalendar,fullcalendar-4,Javascript,Fullcalendar,Fullcalendar 4,如何显示结束时间超过当前日期的重复事件 以下是一个示例数据: const数据={ id:1, 标题:“ABC”, 开始日期:“2020-06-11T16:00:00.000Z”, 开始时间:“23:00:00”, 结束时间:“03:00:00”, daysOfWeek:[“5”] }; calendar.addEventSource({ 事件:[数据] }); 基本上,开始时间是晚上11:00,应该在第二天凌晨3:00结束。我如何让fullcalendar知道它应该在第二天结束?请注意,这是一

如何显示结束时间超过当前日期的重复事件

以下是一个示例数据:

const数据={
id:1,
标题:“ABC”,
开始日期:“2020-06-11T16:00:00.000Z”,
开始时间:“23:00:00”,
结束时间:“03:00:00”,
daysOfWeek:[“5”]
};
calendar.addEventSource({
事件:[数据]
});
基本上,开始时间是晚上11:00,应该在第二天凌晨3:00结束。我如何让
fullcalendar
知道它应该在第二天结束?请注意,这是一个重复发生的事件

以下是月视图中的外观:

在周视图中(事件未呈现,因为它认为结束时间为当天凌晨3点):

我希望它看起来像这样(谷歌日历)


更新:使用

使其正常工作,所以之前,我使用的是
fullcalendar的
内置定期事件

const数据={
id:1,
标题:“ABC”,
开始日期:“2020-06-11T16:00:00.000Z”,
开始时间:“23:00:00”,
//结束时间是03:00:00,因为我预计它将在第二天凌晨3点结束
结束时间:“03:00:00”,
daysOfWeek:[“5”]
};
calendar.addEventSource({
事件:[数据]
});
问题在于,当您的
endTime
小于给定的
startTime
时,
fullcalendar
将无法理解它,并且不会在日历中呈现事件

为了解决这个问题,有一个名为的插件,它允许跨天重复发生事件。多亏了

我们可以使用以下方法代替上述添加重复事件的方法:

const数据={
id:1,
标题:“我的重复事件”,
rrule:{
频率:“每周”,
间隔时间:5,
截止工作日:[“fr”],
//在上述代码中,
//开始日期和开始时间是分开的。
//在rrule插件中,dtstart
//应包含开始日期和时间。
dtstart:“2020-06-01T23:00:00”
},
//持续时间是事件将运行的时间,
//不知道该在什么时候结束。
//在我们的情况下,在第二天凌晨3点结束活动。
//我们应该增加4个小时。
持续时间:“04:00”
};
calendar.addEventSource({
事件:[数据]
});

这是一个可行的解决方案。

fullcalendar内置的定期事件功能相对有限,因此我认为您无法做到这一点。尝试使用rrule插件,rrule更灵活。我没有时间仔细检查,但我怀疑你可以用rrule更容易地实现你想要的。无论如何,这是值得研究的。@ADyson嘿,非常感谢。在花了一段时间处理fullcalendar内置的定期事件后,它似乎无法完成我想要的任务。检查一下你的建议,我认为rrule插件可以做到。@ADyson是的,rrule插件可以工作,太棒了。“也许你可以在下面发布一个答案,这样其他人也能从中受益?”阿德森补充道,多亏了你