2022年5月22日日曜日

ワンライナーのコマンドで日付期間の日数を算出する方法について

 あまプロではUbuntuを使ってコマンドを使う事があります。

ワンライナーのコマンドで日付期間の日数を求めたい時に使うコマンドです。

expr \( `date --date yyyymmdd +"%s"` - `date +"%s"` \) / 60 / 60 / 24
または
expr \( $(date --date yyyymmdd +"%s") - $(date +"%s") \) / 60 / 60 / 24

yyyymmddには年月日を入れます。例えば20220806とかです。

``と$()の違いは、入れ子(ネスト) にできるかできへんかの違いです。
バッククォート``は入れ子にできませんが、かっこ$()は入れ子にできます。
この場合は入れ子にしないので、違いはないです。
お好みで使い易い方を選んで下さい。

/ 60 / 60 / 24は秒を分に変換して、分を時に変換して、時を日に変換してます。
/ 86400でも同じ結果になります。
お好みで使い易い方を選んで下さい。

これで本日から何日後というのを一発で取得できます。 

任意の日付期間の日数を求めたい時には

expr \( `date --date yyyymmdd +"%s"` - `date --date yyyymmdd +"%s"` \) / 86400

でっす。

0 件のコメント:

コメントを投稿

つっこみ