If you use an event as fullday, the enddate in the frontend is placed one day after the chosen date in the backend. I get the logic behind it, but I don’t think that’s what people expect. In the backend calendar view it is already solved by “modify(’-1 day’)”.
Solution for the frontend would be:
…/core/components/agenda/model/agenda/agendaevents.class.php
289 - $eventArray['enddate'] = $eventArray['enddate']->setTime(0, 0, 0)->format('Y-m-d H:i:s');
289 + $eventArray['enddate'] = $eventArray['enddate']->setTime(0, 0, 0)->modify('-1 day')->format('Y-m-d H:i:s');
298 - $eventArray['enddate'] = $eventArray['enddate']->setTime(24, 0, 0)->format('Y-m-d H:i:s');
289 + $eventArray['enddate'] = $eventArray['enddate']->setTime(24, 0, 0)->modify('-1 day')->format('Y-m-d H:i:s');
I didn’t found agenda on github. Thats why I post it here – hope thats okay.