用JavaScript解析Apache日志时间戳

用JavaScript解析Apache日志时间戳,javascript,mysql,apache,momentjs,Javascript,Mysql,Apache,Momentjs,我正在尝试使用moment.js将Apache日志时间戳(14/Jun/2015:11:05:54-0700)格式化为正确的MySQLDATETIME格式 获取MySQLDATETIME格式很容易。但moment似乎只能自动检测ISO 8601格式。将Apache日志的时间戳传递到矩中时My Node.js控制台输出: > moment( '08/Jun/2015:15:03:29' ).format("YYYY-MM-DD HH:mm:ss") 'Invalid date' 如果不在J

我正在尝试使用moment.js将Apache日志时间戳(
14/Jun/2015:11:05:54-0700
)格式化为正确的MySQL
DATETIME
格式

获取MySQL
DATETIME
格式很容易。但moment似乎只能自动检测ISO 8601格式。将Apache日志的时间戳传递到矩中时My Node.js控制台输出:

> moment( '08/Jun/2015:15:03:29' ).format("YYYY-MM-DD HH:mm:ss")
'Invalid date'
如果不在JavaScript中进行大量的字符串拆分,我想不出一种解析Apache日志时间戳的方法。有没有一种干净的方法可以将Apache日志时间戳加载到矩中?或者可能进入
日期
对象


注意:更改Apache日志的时间戳格式不适合我的情况,因为我使用的是旧日志文件,而不是新的日志文件

您需要告知字符串的格式,以便它能够解析它

比如:

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

啊,我明白了。你的答案完全正确,除了需要在其中添加偏移量。所以最终格式必须是
DD/MMM/YYYY:HH:mm:ss Z
。谢谢