从vivado的日志文件解析的两个时间戳之间存在差异

时间:2020-04-21 00:04:56

标签: unix csh

从vivado解析两个日志文件,如何计算以分钟为单位的时间差?

set start_time = "Wed Jun 12 15:12:30 2019"

set end_time = "Thu Jun 13 01:28:39 2019"

在csh中,如何计算start_time - end_time并将其转换为分钟?

1 个答案:

答案 0 :(得分:0)

在具有GNU coreutil的date的Linux上,您可以使用-d标志来解析日期,并使用+%s以秒为单位显示日期:

set start_time = "Wed Jun 12 15:12:30 2019"
set end_time   = "Thu Jun 13 01:28:39 2019"

@ diff = `date -d "$start_time" +%s` - `date -d "$end_time" +%s`

echo "Took $diff seconds"

使用@ varname代替set varname,您可以执行算术运算。

请注意,-d标志并非可移植到所有系统,但是Wikipedia告诉我Vivado仅在Windows和Linux上运行,因此我假设您使用的是Linux;-)


如果可以避免的话,我也建议不要将csh用于此类任务;它缺少功能,良好的重定向,解析器奇怪以及其他一些问题。通常认为Bourne Shell脚本更健壮,就像使用Python或其他“真正的”编程语言一样。