2016-03-30 11 views
0

Ich habe Probleme, die das Verständnis der folgenden false zurück:MomentJS Datum Parsing

http://jsfiddle.net/ckkyLLrc/

console.log(moment("Mar 30, 2016 4:43:49 PM", "MMM dd, YYYY H:m:s a").isValid()); 

Es scheint die „AM“ verwandt zu sein scheint jedoch alles korrekt nach den MomentJS docs . Irgendwelche Ideen?

+2

'Mar 30, 2016 AM' ergibt keinen Sinn als Datumszeichenfolge. –

+0

console.log (Moment ("Mar 30, 2016 4:43:49 PM", "MMM TT, JJJJ H: m: s a"). IsValid()); Funktioniert auch nicht. –

Antwort

2

Dies funktioniert (siehe updated JSFiddle):

console.log(moment("Mar 30, 2016 4:43:49 PM", "MMM DD, YYYY H:mm:ss A").isValid()); // true 

und diese

console.log(moment("Mar 30, 2016 4:43:49 PM", "MMM DD, YYYY H:m:s A").isValid()); // true 

wie dd Sieht DD sein musste.

+0

Danke! Das funktioniert. –

0

Sie müssen den Eingang a am/pm mit einem 12-Stunden-Zeiteingang verwenden. Ihr Beispiel ist mit einem Datum.

Siehe MomentJS docs:

H HH 0..23 24 hour time 
h hh 1..12 12 hour time used with a A. 
a A  am pm Post or ante meridiem (Note the one character a p are also considered valid) 
+0

4:43:49 PM ist eindeutig eine 12-Stunden-Zeit - gibt es eine Möglichkeit, eine Datum/Zeit-Kombination wie in meinem Beispiel zu analysieren? –

+0

Ursprünglicher Posten hatte '30. März 2016 AM' vor Bearbeitungen. 'console.log (Moment (" Mar 30, 2016 4:43:49 PM "," MMM TT, JJJJ H: mm: ss A "). IsValid());' funktioniert, wie @Josh Beam oben gepostet – blunatic