Ein paar Fragen hier:
Erstens Ihr Datumsformat Schrägstriche ein Problem verursacht (Einzel- oder Doppelschrägstriche beide führen zu unterschiedlichen Themen) in bestimmten Fällen verwendet wird. Ich bin nicht sicher, was genau das Problem ist, da das erste Beispiel funktioniert, aber ich vermute, dass es sich um eine Art Escape-Sequenz handelt.
Zweitens, "MM" ist das falsche Token, um kurze Monatsnamen zu analysieren. Es sollte "MMM" sein. Es scheint Zufall, dass es für Ihre "Nov" -Strange funktioniert, wenn Sie "MM" verwenden, aber es funktioniert sicherlich nicht für "Oct" oder die meisten anderen.
Wenn Sie Ihre Datenquelle ändern können, um Daten mit einem anderen Trennzeichen (/
oder -
sind ziemlich Standard), dann tun Sie das. Ist dies nicht der Fall, müssen Sie möglicherweise eine Zeichenersetzung an der Datumszeichenfolge vornehmen, bevor Sie sie an momentJS übergeben.
Beispiele für Strings, die nicht (entweder nicht die richtigen Daten erzeugen, oder „Invalid Date“ berichten) arbeiten:
"31\\Oct\\2016 22:14","DD\\MMM\\YYYY HH:mm"
"31\Oct\2016 22:14","DD\MMM\YYYY HH:mm"
"31/Oct/2016 22:14","DD/MM/YYYY HH:mm"
Wie Sie sehen können, ist es fast bis zu dem Punkt einer parseable Zeichenfolge, entwickelte sich die würde aussehen wie:
"31/Oct/2016 22:14","DD/MMM/YYYY HH:mm"
Ihr erster Ausschnitt scheint auch nicht zu funktionieren - '30 \\ Oct' sollte nicht zu' Nov 30' zugeordnet werden. –
Schauen Sie auf das Ergebnis, "Wed Nov", und November 2016 hat keine 31 Tage –
Lesen Sie die Dokumente sieht es aus wie Sie Bindestriche im Formatierungsteil verwenden müssen (z. B. keine Schrägstriche oder Doppelpunkt). –