1

シェルで2つの変数の時間差を取得するにはどうすればよいですか

say i have 4 variables-

    t1=07:50:19:612
    t2=07:52:14:697
    t3=10:20:54:201
    t4=11:02:09:716

 and i want to find difference in times
 result=(t2-t1)+(t4-t3)
4

2 に答える 2

1

私の知る限り、シェルはミリ秒の日付形式をサポートしていません。コマンド date は、精度が秒単位で切り上げられる時間形式を処理できます。

以下は、最小時間単位として秒を使用した時間形式の例です。

t1=07:50:19
t2=07:52:14
t3=10:20:54
t4=11:02:09

t10=$(date -d $t1 +%s)
t20=$(date -d $t2 +%s)
t30=$(date -d $t3 +%s)
t40=$(date -d $t4 +%s)

result=$(expr $t20 - $t10 + $t40 - $t30)
echo $result

hour=$(expr $result / 3600)
min=$(expr $result % 3600 / 60)
sec=$(expr $result % 60)

echo $hour:$min:$sec
于 2013-08-12T07:50:08.650 に答える