Verwenden Sie moment.js, um das Datum in die Zeichenfolge "MM / TT / JJJJ" zu konvertieren.

87

Ich muss den Datumswert von jquery datepicker übernehmen und ihn in das Zeichenfolgenformat "MM / tt / jjjj" umwandeln, damit er den richtigen Ajax-Beitrag verfassen kann. Wenn die Seite geladen wird oder wenn der Datepicker geändert wird, wird ein Ajquery-Ajax-Aufruf durchgeführt.

Ich habe diesen Code:

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

Aber es wird nicht zu "MM / TT / JJJJ". Wenn ich mit Fiddler überprüfe, was über den Draht gesendet wird, ist dies der Körper:

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

Wenn ich das Compose in Fiddler verwende und den Körper in ändere:

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

Ich bekomme die richtige Antwort. Meine Frage ist also, gibt es eine Möglichkeit, ein Datumsobjekt mit moment.js in eine Zeichenfolge "MM / TT / JJJJ" zu formatieren? Oder stimmt etwas nicht mit der Art und Weise, wie ich das Datum von Datepicker erhalte?

Übrigens gehe ich davon aus, dass datepicker.getDate ein Datumsobjekt zurückgibt, da dies in den jQuery-Dokumenten angegeben ist.

Danke dir,

okysabeni
quelle

Antworten:

69

Ich denke, Sie haben nur ein falsches Gehäuse in der Formatzeichenfolge. Laut Dokumentation sollte dies für Sie funktionieren:MM/DD/YYYY

moment.js Dokumentation

Robbie
quelle
113
StartDate = moment(StartDate).format('MM-YYYY');

... und MySQL-Datumsformat:

StartDate = moment(StartDate).format('YYYY-MM-DD');
NXT
quelle
2
Das MySQL-Datumsformat (JJJJ-MM-TT) ist ebenfalls alphanumerisch sortierbar. Es kann in Dateinamen zum Sortieren von Dateien verwendet werden. Es ist klar und gut lesbar (nicht verwirrend wie TT / MM und MM / TT), ISO 8601 und so ziemlich das nur vernünftiges Format. "01/02/2016" ist nur ... "Was? Woher kommst du? Welches Datumsformat verwenden sie dort?" ;)
Tedd Hansen
8

Versuche dies:

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

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

Verwenden:

Datumsformat ("MM / TT / JJJJ") oder Datumsformat ("MM-TT-JJJJ")}

Andere unterstützte Formate als Referenz:

Monate:

M 1 2 ... 11 12

Mo 1. 2. ... 11. 12 ..

MM 01 02 ... 11 12

MMM Jan Feb ... Nov Dez.

MMMM Januar Februar ... November Dezember

Tag:

d 0 1 ... 5 6

mache 0th 1st ... 5th 6th

dd Su Mo ... Fr Sa.

ddd So Mo ... Fr Sa.

dddd Sonntag Montag ... Freitag Samstag

Jahr:

JJ 70 71 ... 29 30

JJJJ 1970 1971 ... 2029 2030

Y 1970 1971 ... 9999 +10000 +10001

Hitesh Sahu
quelle
4
.format('MM/DD/YYYY HH:mm:ss')
Purva
quelle