シェルスクリプトで日時計算を行う
date
コマンドで日時を出力する
date
コマンドに書式を渡すことでシステム時間を指定した書式で出力できる。
$ date '+%Y-%m-%d %H:%M:%S'
2023-05-04 14:14:49
-f
オプションで入力した日時に設定する
-f
オプションで日時を入力するとシステム時間を指定した日時に設定できる。root権限がない場合はエラーになる。
$ date -f '%Y-%m-%d %H:%M:%S' '2023-05-04 14:14:49'
date: settimeofday (timeval): Operation not permitted
-j
オプションで入力した日時を出力する
-j
オプションを付けることで入力した時間を変換した結果を出力できる。
$ date -j -f '%Y-%m-%d %H:%M:%S' '2023-05-04 14:14:49' '+%Y/%m/%d %H:%M:%S'
2023/05/04 14:14:49
-v
オプションで日時計算ができる
-v
オプションで日時をずらした結果を出力できる。
$ date -j -v+1d -f '%Y-%m-%d %H:%M:%S' '2023-05-04 14:14:49' '+%Y/%m/%d %H:%M:%S'
2023/05/05 14:14:49