Если вы не сдадите формат строки для синтаксического анализа, вы полагаетесь на moment.js угадать формат и если он не может получить что-то похожее на действительную дату (он все равно может быть неверным), он будет отпадать от разбора с помощью встроенного конструктора Date, который настоятельно рекомендуется против. Формат предназначен для формата вывода, а не для формата разбора.
Чтобы передать формат строки в синтаксический анализатор moment.js, включить его в качестве второго аргумента:
moment("Sun Jun 01 2016 05:00:00+00:00",'ddd MMM DD YYYY HH:mm:ssZ').format(/*output format*/)
Заметим также, что, когда он возвращается к встроенной в разборе, отображается следующее предупреждение в консоли:
Предупреждение об устаревании: момент строительства возвращается к js Date. Это обескураживает и будет удалено в предстоящем крупном выпуске. Пожалуйста, обратитесь к https://github.com/moment/moment/issues/1407 за дополнительной информацией.
Спасибо, что работает. Я предположил, что формат предназначен для ввода, а не для вывода – alek
Я предполагаю, что это одно из тех решений API: должны ли быть методы * parse * и * format * или принимать один и только один метод для другого? – RobG