管理人Kのひとりごと

デジモノレビューやプログラミングや写真など

dateコマンドでN日前、N日後を得る方法(Linux)

dateコマンドでN日前、N日後をやりたかったのでメモ。

検証環境

[hoge@localhost ~]$ cat /etc/*release | grep -i centos
CentOS Linux release 7.9.2009 (Core)

[hoge@localhost ~]$ date --version
date (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

作者 David MacKenzie。

やり方

本日より2日前

date --date "2 days ago" +%Y%m%d

[hoge@localhost ~]$ date
20221112日 土曜日 19:15:16 JST

[hoge@localhost ~]$ date --date "2 days ago" +%Y%m%d
20221110

本日より2日後

date --date "2 days" +%Y%m%d

[hoge@localhost ~]$ date
20221112日 土曜日 19:15:16 JST

[hoge@localhost ~]$ date --date "2 days" +%Y%m%d
20221114

1日前、1日後は

"day"でも"days"でも行けた

[hoge@localhost ~]$ date --date "1 days" +%Y%m%d
20221113
[hoge@localhost ~]$ date --date "1 day" +%Y%m%d
20221113
[hoge@localhost ~]$ date --date "1 days ago" +%Y%m%d
20221111
[hoge@localhost ~]$ date --date "1 day ago" +%Y%m%d
20221111

参考にしました

l-w-i.net