我尝试使用moment.js将Apache日志时间戳(14/Jun/2015:11:05:54 -0700
)格式化为正确的MySQL DATETIME
格式。
获取MySQL DATETIME
格式非常简单。但是时刻似乎只是自动检测ISO 8601
格式。将Apache日志的时间戳传入时刻时,我的Node.js控制台输出:
> moment( '08/Jun/2015:15:03:29' ).format("YYYY-MM-DD HH:mm:ss")
'Invalid date'
我无法找到解析Apache日志时间戳的方法,而无需在JavaScript中进行大量的字符串拆分。是否有一种干净的方式将Apache日志时间戳加载到片刻?或者也许进入Date
对象?
注意:更改Apache日志的时间戳格式对我的情况不起作用,因为我使用的是旧日志文件,而不是新日志文件。
答案 0 :(得分:3)
你需要告诉我们字符串的格式,以便解析它。
类似的东西:
moment( '08/Jun/2015:15:03:29', 'DD/MMM/YYYY:HH:mm:ss Z').format("YYYY-MM-DD HH:mm:ss")