shell中如何计算两个时间的时间差

2025-03-01 18:30:34
推荐回答(3个)
回答1:

参考代码如下:
start=`date +%s -d "2011-11-28 15:55:37"`
end=`date +%s -d "2011-11-28 15:55:52"`
echo $(($end-$start))

这个前提是能拿到开始和结束时间字串的基础上的。

如果日志文件输出格式是上述的话,还有个方法:
cat 日志文件 | awk '/^000/{
start=$2 " " $3
end=$4 " " $5

stm=mktime(gensub(/[:-]/, " ", "g", start))
etm=mktime(gensub(/[:-]/, " ", "g", end))

print $1 " - " etm-stm
}'

回答2:

一句话的问题太简单~
时间格式如何,是日期还是时分秒,是否会跨天跨月跨年?
还请明示呀~
要不,请尊驾移驾到另一个我回答过的问题先看一看吧,或许会有灵感:
http://zhidao.baidu.com/question/1829870440876738740.html

回答3:

shell编程的啊,这个都不懂啊?还是多看看【七四一三四五零一五】吧