Cássio Godinho Cássio Godinho - 5 months ago 212
JSON Question

Fullcalendar end date wrong by one day

I am making a fullCalendar backed car reservation functionality.
This is the coffescript file.

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


And this is JSON feed with the events.

[{"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}]


The
end
date is
2014-12-21
but this is what I have on the calendar enter image description here

The documentation says something about this (I think):

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!


But im not quite sure what to do with this information...

Answer

I think the key word in the directions is exclusive so whatever time you specify will not be included in the date range.

So in your case "2014-12-21T00:00:00.000Z" would mean that the event would no longer exists at the very beginning of 12-21. If you want the event to go through 12-21 you'd want to set the end time to "2014-12-22T00:00:00.000" (first possible time in 12-22).