Строка MomentJS + форматы не работают

Я не могу подтвердить указанную дату. У меня есть несколько вариантов форматов времени.

moment("10/4/2013 01:00",["DD-MMM-YYYY HH:mm:ss", "DD-MMM-YYYY HH:mm", "MM/DD/YYYY HH:mm"]).isValid();

Однако это справедливо, когда,

moment("10/4/2013 01:00",["MM/DD/YYYY hh:mm"]).isValid();

Он снова становится недействительным, когда я добавляю трехбуквенный формат месяца.

moment("10/4/2013 01:00",["DD-MMM-YYYY HH:mm", "MM/DD/YYYY HH:mm"]).isValid();

Два формата в приведенной выше строке совершенно разные, однако moment не анализирует дату.

Я хочу проверить дату в любом формате.


person lostpacket    schedule 04.10.2013    source источник
comment
Похоже на ошибку, и похоже, что вы (или кто-то другой) уже зарегистрировали ее здесь .   -  person Matt Johnson-Pint    schedule 04.10.2013
comment
Я сделал. Спасибо за ответ в обоих местах.   -  person lostpacket    schedule 05.10.2013


Ответы (2)


Это известная проблема 1133 в github.

person lostpacket    schedule 04.10.2013

проверка с несколькими форматами, похоже, проверяет, действительна ли строка в каждом формате.

Я бы просто выполнил функцию для перебора форматов и вместо этого проверил, действительна ли дата по крайней мере с одним из них;

person Pierre Gayvallet    schedule 04.10.2013
comment
Нет, это не так. Там просто ошибка с этими конкретными форматами. Это должно работать. - person Matt Johnson-Pint; 04.10.2013