J'utilise le script FullCalendar et j'ai du mal à formater la date / l'heure des ÉVÉNEMENTS sur le calendrier.
J'ai besoin que toutes les données de date / heure des événements ressemblent à:
2011-09-28 08:15:00
Toutes les dates sont comme ça dans ma source JSON, qui s'affichent correctement sur le calendrier. Cependant, si l'événement est déplacé ou qu'un nouvel événement est ajouté (supprimé par un glissement éternel), le format d'heure ressemble à:
ven. 30 sept. 2011 14:30:00 GMT-0400 (EDT)
Il ne s'affiche pas dans ce format, mais il apparaît de cette façon lorsque j'essaie d'insérer event.start ou event.end dans ma base de données, ou lorsque je fais cela:
eventClick: function(event) {
alert("Event ID: " + event.id + " Start Date: " + event.start + " End Date: " + event.end);
}
Je l'utilise uniquement pour voir comment la date et l'heure sont enregistrées dans le calendrier. J'ai besoin de mettre à jour ma base de données avec de nouveaux événements, mais dans le format indiqué ci-dessus, mais j'ai du mal à le faire.
Comment utiliser la fonction formatDate
? Je le vois dans la liste, et la raison pour laquelle je demande, c'est parce que je ne sais pas quoi en faire.
J'ai fait:
$.fullCalendar.formatDate(event.start, 'MM-dd-yyyy');
Mais cela ne fait rien ...
7 réponses
Ce que j'ai fait, c'est de le mettre d'abord dans un var, mais ne semblait fonctionner qu'avec IE - FF produisait toujours le format IETF (ex: "Wed, 18 Oct 2009 13:00:00 EST"):
var formDate = $.fullCalendar.formatDate(event.start, 'MM-dd-yyyy');
alert(" Start Date: " + formDate);
Q: Comment utiliser la fonction formatDate? Je le vois répertorié, la raison pour laquelle je pose la question est parce que je ne sais pas quoi en faire. J'ai fait: $ .fullCalendar.formatDate (event.start, 'MM-dd-yyyy'); Cela ne fait rien ...
Répondre :
Vous pouvez utiliser des ressemblances:
eventClick: function(event) {
alert("Event ID: " + event.id + " Start Date: " + $.fullCalendar.formatDate(event.start, 'MM-dd-yyyy') + " End Date: " + event.end);
}
J'ai trouvé votre réponse dans une question similaire, dans ici
Répondu par H.D:
dateStr = "Tue Aug 13 2013 18:00:00 GMT-0400 (EDT)"
(new Date(dateStr)).toISOString().slice(0, 10)
Il affichera: '2013-08-13'
(new Date(dateStr)).toISOString()
Il affichera: «2013-08-13T18: 00: 00.000Z»
Si vous essayez de passer un objet date de java au calendrier complet et que vous utilisez Java 7 ou moins, la fonction ci-dessous fonctionnera pour vous.
Date date = nouvelle date ("passyourdatestring");
Date.toLocaleString ();
Et voici l'objet d'événement.
{
id: '_jobName' ,
url: 'url ',
title: 'title',
allDay: 'false',
description: 'displayname',
start': 'schedDateTime',
end: date.toLocaleString()
};
Utilisez simplement le code suivant avant de rendre vos événements:
start=moment(start).format('YYYY/MM/DD hh:mm');
end=moment(end).format('YYYY/MM/DD hh:mm');
Assurez-vous que vous utilisez moment.js.
Consultez formatDate et parseDate et cela résoudra probablement vos problèmes.
J'ai utilisé le code ci-dessous lors du rendu de l'événement sur le calendrier.
J'espère que ce code vous aidera.
eventRender: function(event, element) {
eventsdate = moment(event.start).format('hh:mm a');
eventedate = moment(event.end).format('hh:mm a');
element.find('.fc-time').html(eventsdate + " - " + eventedate + "<br>");
}
Assurez-vous que vous utilisez moment.js
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.