2015-04-02 186 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

相關問題