2013-03-14 7 views
46

Ich muss den Datumswert von jquery Datepicker nehmen Sie es in Zeichenfolge Format "MM/TT/JJJJ", so dass es die richtige Ajax Post tun kann. Beim Laden der Seite oder beim Ändern des Datumsspeichers wird ein JQuery-AJAX-Aufruf durchgeführt.Verwenden von moment.js zum Konvertieren von Datum in Zeichenfolge "MM/TT/JJJJ"

Ich habe diesen Code:

var sTimestamp = 
moment($("#start_ts").datepicker("getDate")).format("MM/dd/yyyy"); 

Aber es dreht es nicht in "MM/tt /". Wenn ich Fiddler verwenden, um zu überprüfen, was auf der Leitung gesendet wird, ist dies der Körper:

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

Wenn ich die compose in Fiddler verwenden und den Körper ändern:

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

ich die richtige Antwort erhalten . Also, meine Frage ist, gibt es eine Möglichkeit, ein Date-Objekt zu nehmen und es zu einem String "MM/TT/JJJJ" mit moment.js zu formatieren? Oder stimmt etwas nicht mit der Art und Weise, wie ich das Datum von Datepicker erhalte?

Btw, nehme ich an, dass datepicker.getDate gibt ein Datum Objekt zurück, da das ist, was die jQuery-Dokumentation mir sagen.

Danke,

Antwort

34

Ich glaube, Sie nur falsche Gehäuse im Format-String haben. Gemäß der Dokumentation sollte dies für Sie arbeiten: MM/DD/YYYY

moment.js documentation

5

Try this:

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

var yourDate = momentObj.format('L'); 
46
StartDate = moment(StartDate).format('MM-YYYY'); 

... und MySQL Datumsformat: auch

StartDate = moment(StartDate).format('YYYY-MM-DD'); 
+1

MySQL Datumsformat (JJJJ-MM-DD) ist alphanummerisch Sortierbar, kann es in Dateinamen verwendet werden, um Dateien zu sortieren, es ist klar und menschlich lesbar (nicht verwirrend wie dd/mm und mm/dd ist), ISO 8601 und so ziemlich das einzige vernünftige Format. "01/02/2016" ist nur ... "Was? Woher kommst du? Welches Datumsformat verwenden sie dort?" ;) –

Verwandte Themen