fullcalender.formatdate ne fonctionne pas
Je suis en train d'intégrer fullcalender php mysql.J'ai utilisé le code suivant.Je veux le format de la date à laquelle il entrera dans le format aaaa/mm/jj, mais lorsque j'utilise le format des états, le code ne fonctionne pas correctement.Si je supprime le format de date, il semble de travail, mais l'insertion de 0000/0000/000 00:00 dans la base de données.
mon code:
//Convert the allDay from string to boolean
eventRender: function(event, element, view) {
if (event.allDay === 'true') {
event.allDay = true;
}
else {
event.allDay = false;
}
},
selectable: true,
selectHelper: true,
select: function(start, end, allDay) {
var title = prompt('Sample Textbox:');
if (title) {
start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss");
end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");
$.ajax({
url: 'http://localhost/fullcalendar/demos/add_events.php',
data: 'title='+ title+'&start='+ start +'&end='+ end ,
type: "POST",
success: function(json) {
alert('Added Successfully');
alert(json);
}
});
calendar.fullCalendar('renderEvent',
{
title: title,
start: start,
end: end,
allDay: allDay
},
true //make the event "stick"
);
}
calendar.fullCalendar('unselect');
},
Quelqu'un peut-il me dire quel est le problème?
Si je supprime le format de date c'est du travail d'autre ça ne fonctionne pas. Mais je dois formater les données pour l'obtenir correctement inséré dans la base de données. Je veux juste que de la date aucun besoin de heures.
- Est-ce que mysql question?
- Non, j'ai besoin format de la date doit être au format datetime champ dans mysql.
Vous devez vous connecter pour publier un commentaire.
D'abord si vous êtes à la recherche pour la date seulement de ne pas les heures, vous devriez probablement utiliser:
Au lieu de cela:
Si vous supprimez le format de date, il semble de travail parce que c'est l'insertion de dates comme un timestamp (il ressemble timestamp).
Essayez de changer votre structure de base de données de type VARCHAR et vous verrez quelque chose comme ceci:
Lorsque vous utilisez dateFormat fonction, vous devez regarder dans votre navigateur web journaux de la console. Vous aurez probablement voir:
C'est parce que
$.fullCalendar.formatDate
méthode n'existe même plus sur fullCalendar V2 (changeLog).Vous pouvez utiliser
Moment.js
avec.format()
méthode (doc).N'oubliez pas d'importer
moment.js
et modifier votrestart
etend
variables:Il devrait résoudre votre problèmes.
ce code ci-dessous devrait faire l'affaire. (en supposant que vous avez la moment.min.js lib)
Comme Tifa réponse suggère : si vous n'avez pas besoin de temps de la partie, ne pas le coder :
Un autre problème réside dans la chaîne de paramètre que vous transmettez à votre requête ajax :
Cette chaîne n'est pas encodée url.
La façon la plus simple pour corriger ce problème consiste à passer un objet, et laissez jQuery gérer l'encodage :