Fullcalendar结束日期错误一天

我正在制作fullCalendar支持的汽车预订function。 这是coffescript文件。

updateEvent = (event, delta, revertFunc) -> $.ajax type: "PUT" dataType: "json" success: (data) -> alert "Success" error: (data) -> revertFunc() errors = data.responseJSON.reservations[0][1] for message of errors alert errors[message] url: event.updateUrl data: reservation: reservation_start: event.start.format('DD-MM-YYYY') reservation_end: event.end.format('DD-MM-YYYY') transport_id: event.transport_id user_id: event.user_id $(document).ready -> $(".calendar").fullCalendar events: gon.path eventDrop: updateEvent eventResize: updateEvent 

这是带有事件的JSON feed。

 [{"start":"2014-12-17T00:00:00.000Z","end":"2014-12-21T00:00:00.000Z","title":"Cassio Godinho","url":"/reservas/44/edit","allDay":true,"editable":true,"updateUrl":"/reservation/44","transport_id":1,"user_id":1}] 

end日期是2014-12-21但这是我在日历上的内容 在此处输入图像描述

文档说明了这一点(我认为):

 endParam It is the moment immediately after the event has ended. For example, if the last full day of an event is Thursday, the exclusive end of the event will be 00:00:00 on Friday! 

但我不太清楚如何处理这些信息……

我认为指示中的关键词是exclusive所以无论你指定的时间都不包括在日期范围内。

因此,在您的情况下, "2014-12-21T00:00:00.000Z"将意味着该事件将在12-21开始时不再存在。 如果您希望活动通过12-21,您需要将结束时间设置为"2014-12-22T00:00:00.000" (12-22中的第一个可能时间)。

我有同样的问题,我终于想通了。

我使用全天都是TRUE,根据文档,如果你使用全天,它会及时表现。

所以首先,我将全天改为FALSE ,然后

在我结束的那天,我添加了$ endDate。“T23:59:00”;

这对我有用。

我有同样的问题,但我试验了时间,这是决议:)

2014-12-21T00:00:00 => 2014-12-21T23:59:00这将解决您的问题。

最好的部分是在20:00:00附加到结束日期,如下所示:

 var ed = $("endDate").val(); newVar = ed+" 20:00:00"; 

多数民众赞成你需要的。

如果您将结束日期设置为12-21-2014的0小时,分钟,秒等,则当天没有时间显示活动。

您可能需要将结束日期提前到第二天的0小时,因为您将事件设置为全天活动,但是您也可以将任何金额(例如一小时)的时间推进以便事件发生在期望的结束日期之内,然后是它应该呈现的全天事件。

如果他们的事件对象包含你可以设置的持续时间参数,那将是很好的,至少我没有在他们的文档中看到一个。

通过设置事件的开始和结束时间来“修复”此问题。

我不知道它是否仍然有用,但您可以使用此方法,使用以下内容添加一天到您的结束日期:

 $date = new DateTime('2000-01-01'); $date->add(new DateInterval('P0Y0M1DT0H0M0S')); 

这会将结束日期增加一天。

我也面临同样的问题并通过在结束日期添加"T23:59:00"来解决它,即"end" => $end_date."T23:59:00"

你需要设置nextDayThreshold:’00:00’它会显示最后一天!