Je suis en train d'essayer d'utiliser le plugin FullCalendar v5 pour ajouter un calendrier sur mon site web. Je veux récupérer les événements en utilisant une requête AJAX.
Voici ce que j'ai fait
let calendarElement = document.getElementById('calendarElement');
let calendar = new FullCalendar.Calendar(calendarElement, {
initialView: 'dayGridMonth',
aspectRatio: 2.0,
headerToolbar: {
left: 'prev,next',
center: 'title',
end: 'dayGridMonth,timeGridWeek,listWeek, today prev,next'
},
weekNumbers: false,
lazyFetching: false,
events: {
url: '/events',
method: 'GET',
startParam: 'start', // Je m'attends à ce que ce soit toujours le début du mois
endParam: 'end', // Je m'attends à ce que ce soit toujours la fin du mois
failure: function (e) {
console.log(e);
}
}
});
calendar.render();
Cependant, les valeurs envoyées au serveur semblent avoir les mauvaises valeurs de début/fin. /events?start=ValeurDeDébut&end=ValeurDeFin
Si je regarde les événements du mois de février, je m'attends à ce que le plugin envoie une requête GET
au serveur avec la valeur 2/1/2022 00:00:00
pour le début
et `2/28/2022 23:59:59' pour la date de fin.
Cependant, le plugin semble envoyer une plage bizarre au serveur. Le plugin envoie la valeur 1/30/2022 5:00:00 AM
comme valeur de début et 3/13/2022 5:00:00 AM
comme valeur de fin. Le fuseau horaire de mon PC est -5 par rapport à l'UTC, ce qui explique les 5 heures. Mais je m'attendrais à ce que la valeur de fin soit 2/28/2022 et non 3/13/2022
Comment puis-je résoudre ce problème afin que le plugin envoie la plage exacte basée sur la vue de l'utilisateur?
Voici une image du calendrier