Apache将时间戳记录到日期打字稿

时间:2017-07-29 20:02:06

标签: apache date typescript logging

我从Apache日志中获取此时间戳"18/May/2011:12:40:18 -0700",我想将其转换为Date类型。我想从时间戳中提取月份,月份,年份和时间。

当我尝试从之前显示的数据创建一个新Date时,我从TS编译器收到Invalid data错误消息。我认为-0700是问题,所以我请求解决方案。

2 个答案:

答案 0 :(得分:2)

问题是日期和时间之间的冒号。您需要将其替换为空格。

var timestamp = '18/May/2011:12:40:18 -0700';

var jsdate = new Date(timestamp.replace(':',' '));

答案 1 :(得分:1)

下面的代码显示了您遇到的问题。 JavaScript无法将该格式解析为日期。 (-0700与UTC的差异)。

var dates = [];

dates.push(new Date("18/May/2011:12:40:18 -0700"));
dates.push(new Date("18/May/2011:12:40:18-0700"));
dates.push(new Date("2011-05-18:12:40:18-0700"));

dates.forEach(parsedDate => console.log(parsedDate.toString()))

您可能需要自己解析日期或使用库