Я буквально только что заметил, что команда unix date не выводит даты в формате iso8601 или RFC2822. ?
У меня есть некоторые входные документы json с датой, указанной в качестве вывода unix date -u
, например: Mon Oct 22 04:08:48 UTC 2018
. Мои даты всегда в UTC
, потому что они были сгенерированы с date -u
. (В следующий раз я буду умным и просто использую date -u +"%Y-%m-%dT%H:%M:%SZ"
, чтобы получить дату iso8601.)
Я просмотрел документацию для разбора и провел тщательный поиск в Интернете, но не могу понять, что я делаю неправильно.
Я пытаюсь разобрать их с помощью moment.js:
const instr = 'Mon Oct 22 03:53:08 UTC 2018';
const dateFormatString = "ddd MMM DD HH:mm:ss [UTC] GGGG";
const parsedDate = moment.utc(instr, dateFormatString, true);
Это все еще просто дает мне:
moment.invalid(/* Mon Oct 22 03:53:08 UTC 2018 */)
Что я делаю не так?
Пример:
https://jsfiddle.net/1c3g0r4j/
var parseString = 'Mon Oct 22 03:53:08 UTC 2018';
var formatString = 'ddd MMM DD HH:mm:ss [UTC] gggg';
var locale = 'en';
var strictParse = true;
var parsed = moment.utc(parseString, formatString, locale, strictParse);
alert(parsed.isValid()) //false