Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxのシェル時間計算と時差計算方法

Linuxのシェル時間計算と時差計算方法

  

最近、シェルスクリプトを扱うときに、時間処理の問題が発生しました。時間の加減算、および時間差の計算


1。時間の加算と減算


ここでの処理方法は、基本時間をタイムスタンプに変換してから、秒になるまで時間を増やすか変更することです。


任意:1990-01-01 01:01:01プラス1時間20分

処理方法:

a.Basic timeタイムスタンプに変換します。

time1 = $(日付+%s -d '1990-01-01 01:01:01')

echo $ time1

631126861タイムスタンプ]


b。時間を秒単位で増やします。

[root @ localhost〜]#time2 = $((1 * 60 * 60 + 20 * 60) ))[root @ localhost〜]#echo $ time2

4800


c。2回加算して結果の時間を計算する

time1 = $(($ time1 + $ time2))

time1 = $(日付+%Y-%m-%d \\%H:%M:%S -d" 1970-01-01 UTC $ Time1秒");

echo $ time1

1990-01-01 02:21:01


時間差の計算方法


例:2010-01-01および2009-01-01 11:11:11時間差

原則:タイムスタンプにも変換してから計算する日、時、分、秒


time1 = $(($(date +%s -d '2010-01-01') - $(date +%s -d ') 2009-01-01 11:11:11 ')));;

echo time1


Time1 /60秒、それはコンポーネントになります。


補足説明:

シェルシングルブラケット演算子:

a = $(date);

は、次のものと同等です。 = `date`;


二重括弧演算子:

a = $((1 + 2));

echo $ a; < Br>

は次のものと同等です。

a = `expr 1 + 2`

Copyright © Windowsの知識 All Rights Reserved