Utilisation de moment.js pour convertir la date en chaîne "MM / jj / aaaa"

89

Je dois prendre la valeur de date de jquery datepicker le transformer en format de chaîne "MM / jj / aaaa" afin qu'il puisse faire le bon post ajax. Lorsque la page se charge ou lors du changement de datepicker, 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". Lorsque j'utilise Fiddler pour vérifier ce qui est envoyé sur le fil, c'est le corps:

startTimestamp=03%2FTh%2Fyyyy&endTimestamp=03%2FTh%2Fyyyy&pageSize=50&pageNum=0

Si j'utilise le compose dans Fiddler et que je change le corps en:

startTimestamp=03/13/2013&endTimestamp=03/14/2013&pageSize=50&pageNum=0

J'ai la bonne réponse. Donc, ma question est, existe-t-il un moyen de prendre un objet date et de le formater en une chaîne "MM / jj / aaaa" en utilisant moment.js? Ou y a-t-il quelque chose qui ne va pas dans la façon dont j'obtiens la date à partir du sélecteur de date?

Btw, je suppose que datepicker.getDate renvoie un objet date puisque c'est ce que me disent les documents jQuery.

Merci,

okysabeni
la source

Réponses:

71

Je pense que vous avez juste une casse incorrecte dans la chaîne de format. Selon la documentation, cela devrait fonctionner pour vous:MM/DD/YYYY

documentation moment.js

Robbie
la source
115
StartDate = moment(StartDate).format('MM-YYYY');

... et format de date MySQL:

StartDate = moment(StartDate).format('YYYY-MM-DD');
NXT
la source
2
Le format de date MySQL (AAAA-MM-JJ) est également triable de manière alphanumérique, il peut être utilisé dans les noms de fichiers pour trier les fichiers, il est clair et lisible par l'homme (pas de confusion comme jj / mm et mm / jj est), ISO 8601 et à peu près le seulement un format sain. "01/02/2016" c'est juste ... "Quoi? D'où venez-vous? Quel format de date utilisent-ils là-bas?" ;)
Tedd Hansen
8

Essaye ça:

var momentObj = $("#start_ts").datepicker("getDate");

var yourDate = momentObj.format('L');
Jack
la source
7

Utilisation:

date.format ("MM / JJ / AAAA") ou date.format ("MM-JJ-AAAA")}

Autres formats pris en charge pour référence:

Mois:

M 1 2 ... 11 12

Lu 1er 2ème ... 11ème 12ème

MM 01 02 ... 11 12

MMM Jan Fév ... Nov Déc

MMMM janvier février ... novembre décembre

Journée:

d 0 1 ... 5 6

faire 0e 1er ... 5e 6e

dd Di Mo ... Fr Sa

ddd dim lun ... ven sam

dddd dimanche lundi ... vendredi samedi

An:

AA 70 71 ... 29 30

AAAA 1970 1971 ... 2029 2030

Y 1970 1971 ... 9999 +10000 +10001

Hitesh Sahu
la source
5
.format('MM/DD/YYYY HH:mm:ss')
Purva
la source