我从Apache日志中获取此时间戳"18/May/2011:12:40:18 -0700"
,我想将其转换为Date类型。我想从时间戳中提取月份,月份,年份和时间。
当我尝试从之前显示的数据创建一个新Date时,我从TS编译器收到Invalid data
错误消息。我认为-0700
是问题,所以我请求解决方案。
答案 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()))
您可能需要自己解析日期或使用库