「DDD MMM dd hh:mm:ss HKT YYYY」など、2つの固定フォーマット文字列の間の時間差を見つけます。

「DDD MMM dd hh:mm:ss HKT YYYY」など、2つの固定フォーマット文字列の間の時間差を見つけます。

プログラムログで開始時間と終了時間の文字列を探しています。時間差を時間単位でどのように知ることができますか?

t1="Tue Feb 21 12:15:00 HKT 2023"
t2="Tue Feb 21 12:45:01 HKT 2023"

他の質問も見ました。ただし、形式が異なるか、日付から直接開始されます。date -d 'now + 3 weeks'

答え1

このように:

#!/bin/bash

export TZ='Asia/Hong_Kong'
oldd=$(date -d "Tue Feb 21 12:15:00 HKT 2023" "+%s")
last=$(date -d "Tue Feb 21 12:45:01 HKT 2023" "+%s")
diff=$((last - oldd))
echo "$((diff/3600 )) hours $(( (diff/60)%60 )) minutes $(( diff%60 )) seconds"

出力

0 hours 30 minutes 1 seconds

関連情報