Je dois prendre la valeur de date de jquery datepicker pour la convertir au format de chaîne "MM/jj/aaaa" afin qu'elle puisse faire le bon message ajax. Lors du chargement de la page ou lors de la modification du sélecteur de date, un appel jquery ajax est effectué.
J'ai ce code:
var sTimestamp =
moment($("#start_ts").datepicker("getDate")).format("MM/dd/yyyy");
Mais cela ne le transforme pas en "MM/jj/aaaa". Quand j'utilise fiddler pour vérifier ce qui est envoyé sur le fil, voici le corps:
startTimestamp=03%2FTh%2Fyyyy&endTimestamp=03%2FTh%2Fyyyy&pageSize=50&pageNum=0
Si j'utilise la composition en violoneux et change le corps en:
startTimestamp=03/13/2013&endTimestamp=03/14/2013&pageSize=50&pageNum=0
Je reçois la bonne réponse. Ma question est donc la suivante: y at-il un moyen de prendre un objet de date et de le formater en une chaîne "MM/jj/aaaa" en utilisant moment.js? Ou y a-t-il quelque chose qui cloche dans la façon dont j'obtiens la date avec datepicker?
Btw, je suppose que datepicker.getDate renvoie un objet de date puisque c'est ce que les documents jQuery me disent.
Je vous remercie,
Je pense que vous avez juste la casse incorrecte dans la chaîne de format. Selon la documentation, cela devrait fonctionner pour vous: MM/DD/YYYY
StartDate = moment(StartDate).format('MM-YYYY');
... et le format de date MySQL:
StartDate = moment(StartDate).format('YYYY-MM-DD');
Essaye ça:
var momentObj = $("#start_ts").datepicker("getDate");
var yourDate = momentObj.format('L');
.format('MM/DD/YYYY HH:mm:ss')
Utilisation:
date.format ("MM/JJ/AAAA") ou date.format ("MM-JJ-AAAA")}
Autres formats pris en charge pour référence:
M 1 2 ... 11 12
Mo 1er 2ème ... 11ème 12ème
MM 01 02 ... 11 12
MMM Jan Fev ... Nov Déc
MMMM Janvier Février ... Novembre Décembre
d 0 1 ... 5 6
do 0 1er ... 5ème 6ème
dd Di Lu ... Di Sa
jjj dim lun lun ... ven sam
dddd dimanche lundi ... vendredi samedi
YY 70 71 ... 29 30
AAAA 1970 1971 ... 2029 2030
Y 1970 1971 ... 9999 +10000 +10001