2015-06-17 3 views
0

Я пытаюсь использовать файл time.js для форматирования временных меток журнала Apache (14/Jun/2015:11:05:54 -0700) в соответствии с форматом MySQL DATETIME.Parsing Apache Log Timestamps с JavaScript

Получение формата MySQL DATETIME - легкий ветерок. Но момент, кажется, только автоматически определяет ISO 8601 форматов. Мой Node.js вывод консоли при переходе в метке времени Апача бревна в данный момент:

> moment('08/Jun/2015:15:03:29').format("YYYY-MM-DD HH:mm:ss") 
'Invalid date' 

Я не могу понять способ синтаксического анализа журнала метки Apache, не делая тонну струнного расщепления в JavaScript. Есть ли простой способ загрузить временную метку журнала Apache? Или, возможно, в объект Date?

ПРИМЕЧАНИЕ: Изменение формата временной метки журнала Apache не будет работать для моего случая, потому что я работаю со старыми файлами журнала, а не с новыми.

ответ

1

Вам нужно указать момент, в каком формате находится строка, чтобы он мог ее разобрать.

Что-то вроде:

moment('08/Jun/2015:15:03:29', 'DD/MMM/YYYY:HH:mm:ss Z').format("YYYY-MM-DD HH:mm:ss") 
+0

Ааа, я вижу. Ваш ответ был мертвым, за исключением необходимости добавлять туда смещение. Поэтому формат должен был быть «DD/MMM/YYYY: HH: mm: ss Z» в конце. Благодаря! – richardgirges