我有以下 input.txt 文件。我需要计算 2 美元和 3 美元的时间差并以小时为单位打印差值。
P1, 2016-05-30 00:11:20, 2016-05-30 04:36:40
P2, 2016-05-30 00:07:20, 2016-05-30 04:32:31
Run Code Online (Sandbox Code Playgroud)
我有以下代码,但看起来时间显示不准确。请帮忙。
awk -F, '{gsub(/[-:]/," ",$2);gsub(/[-:]/," ",$3);
d2=mktime($3);d1=mktime($2);
print $1","(d2-d1)/3600,"hrs";}' input.txt
Run Code Online (Sandbox Code Playgroud)
我得到这样的输出。
P1,4.42222 hrs
P2,4.41972 hrs
Run Code Online (Sandbox Code Playgroud)
但应该显示出差异 4:25:20 小时 4:25:11 小时
提前致谢
如果您想以 HH:MM:SS 语法打印秒数,则需要自己进行计算。printf例如,如果您想打印 4:02:30 而不是 4:2:30,则使用将非常有用。例如,
secs = d2 - d1;
printf "%s, %d:%02d:%02d hrs.\n", $1, int(secs/3600), int(secs/60)%60, secs%60
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3740 次 |
| 最近记录: |