Apache 将日志时间戳转换为 Date 类型的 TypeScript
我从 Apache 日志中获得了这个时间戳 "18/May/2011:12:40:18 -0700",我想将其转换为日期类型。我想从时间戳中提取出日期中的天、月、年和时间。
当我尝试从之前显示的数据创建一个新的日期时,我收到 TS 编译器的 Invalid data 错误信息。我认为 -0700 是问题所在,所以我请求一个解决方案。
答案#1
问题出在日期和时间之间的冒号。你需要用空格替换它。
var timestamp = '18/May/2011:12:40:18 -0700';
var jsdate = new Date(timestamp.replace(':',' '));
答案#2
下面的代码显示了你遇到的问题。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()))您可能需要自己解析日期或使用一个库
