2015-04-02 191 views
0

我计算我的代码是多少时间考虑在shell脚本 -如何将时间戳转换为shell脚本中的小时/分钟/秒?

date1=$(date +"%s") 

# some code here 

date2=$(date +"%s") 
diff=$(($date2-$date1)) 
echo "Time Taken - $(($diff/60)) minutes and $(($diff % 60)) seconds elapsed." 

上面的脚本打印出以分和秒所用的时间。我怎样才能将它添加数小时?意思是它应该打印出Time Taken - 0 hours 54 minutes 0 seconds这样的东西。

+1

什么'回声“拍摄时间 - $(($ DIFF/3600))小时$(($ DIFF/60)),分钟和$(($ DIFF%60) )'' – higuaro 2015-04-02 05:20:48

+1

分钟的计算是错误的。它应该是'$(((diff/60)%60))'...... – anishsane 2015-04-02 07:19:08

+0

@anishsane你确定它错了吗?我认为这是对的? – john 2015-04-03 03:53:00

回答

1

试试这个:

echo "Time Taken - $((diff /60/60)) hours and $(($diff % 60)) minutes and $(($diff % 60)) seconds elapsed." 
+0

感谢您的建议。这是什么意思? '/ 60/60'? – john 2015-04-02 05:27:49

+0

这意味着除以60(分钟)除以60(小时),如果将秒转换为小时,则转换为3600相同 – Jens 2015-04-02 05:34:30

+0

分钟计算错误。它应该是'$(((diff/60) %60))' – anishsane 2015-04-02 07:08:40

相关问题