gpt4 book ai didi

bash - 使用awk计算时间差

转载 作者:行者123 更新时间:2023-11-29 09:27:37 24 4
gpt4 key购买 nike

我有以下 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

我有以下代码,但时间显示不准确。请帮忙。

awk -F, '{gsub(/[-:]/," ",$2);gsub(/[-:]/," ",$3);
d2=mktime($3);d1=mktime($2);
print $1","(d2-d1)/3600,"hrs";}' input.txt

我得到这样的输出。

P1,4.42222 hrs
P2,4.41972 hrs

但应该是有区别的4:25:20 小时4:25:11 小时

提前致谢

最佳答案

如果您想以 HH:MM:SS 语法打印秒数,您需要自己进行计算。如果您想打印 4:02:30 而不是 4:2:30,则使用 printf 会很有用。例如,

secs = d2 - d1;
printf "%s, %d:%02d:%02d hrs.\n", $1, int(secs/3600), int(secs/60)%60, secs%60

关于bash - 使用awk计算时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37531525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com