2016-03-30 3 views
0

У меня возникают проблемы с пониманием следующие возвращает ложь:MomentJS Дата разборе

http://jsfiddle.net/ckkyLLrc/

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

Это, кажется, связано с «AM», однако все выглядит правильно в соответствии с MomentJS документы , Есть идеи?

+2

«30 марта 2016 года» не имеет смысла в качестве строки даты. –

+0

console.log (момент («30 марта 2016 4:43:49 PM», «MMM dd, YYYY H: m: s a»). IsValid()); Не работает. –

ответ

2

Это работает (см updated JSFiddle):

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

и это

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

Похоже dd нужно быть DD.

+0

Спасибо! Это работает. –

0

Вам необходимо использовать вход a am/pm с 12-часовым вводом времени. Ваш пример - с датой.

Смотрите 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 явно 12-часовое время - есть ли способ разобрать комбинацию даты и времени, как в моем примере? –

+0

Оригинал сообщения был «30 марта 2016 года» перед редактированием. 'console.log (момент (« 30 марта 2016 4:43:49 PM »,« MMM DD, YYYY H: mm: ss A »). IsValid());' работает, как @Josh Beam, размещенное выше – blunatic

Смежные вопросы