1. ホーム
  2. bash

[解決済み] 2つの日付の間の日数の差はどのように見つけるのですか?

2023-01-30 04:15:41

質問

A="2002-20-10"

B="2003-22-11"

2つの日付の間の日数の差を見つけるにはどうすればよいですか?

どのように解決するには?

もし、あなたがGNU date があれば、任意の日付の表現を表示することができます ( -d オプション)。 この場合、日付をEPOCHからの秒数に変換し、24*3600で引き算と割り算をします。

GNU dateを使った例( https://stackoverflow.com/a/9008871/215713 ):

let DIFF=($(date +%s -d 20210131)-$(date +%s -d 20210101))/86400
echo $DIFF
30

これは、例えば "2021-01-31" のように、他の形式の日付でも動作します。

他の回答は、GNU dateを必要としない方法を提案しています。