今回はLinuxで指定した日から何日経過したか計算する方法について解説致します。
■dateコマンドを使用する
今回は例として2024年1月1日より何日経過したか計算します。
下記のコマンドを実行し日付を確認できます。
echo $((($(date +%s)-$(date -d"2024/1/1" +%s))/86400))日
上記では現在のUNIX時間を取得し指定した日時からの経過時間を計算しております。
さらに86400で割り算を行う事で秒数を日付に計算しています。
下記実行結果の例となります。
echo $((($(date +%s)-$(date -d"2024/1/1" +%s))/86400))日
132日
■サーバー時間が日本時間ではない場合
サーバー時間が日本時間ではない場合は以下コマンドを使用し計算します。
TZ環境変数に日本時間を指定する事で日本時間での出力を行う事が出来ます。
echo $((($(date +%s)-$(TZ=Asia/Tokyo date -d"2024/1/1" +%s))/86400))日