dateコマンドで◯日前・◯月前・◯年前の日付を取得する

dateコマンドで3日前・2月前・2年前等の過去の日付を取得する方法を紹介します。過去の日付を取得するには「 -d “◯ days ago"」・「 -d “◯ months  ago"」のように指定すると。その日付を基準に計算され指定した日付が取得できます。また、「 -d “◯ days ago"」の ago を使わずに “-◯ days" のようにマイナス記号でも過去の日付を取得することはできます

◯日前の日付

7日前の日付を取得する場合は、下記のコマンドで取得できます

# 現在の日付が 2025-03-06 の場合

# ◯ days agoの場合
$ date -d "7 days ago" +"%Y-%m-%d"
2025-02-27

# -◯ daysの場合
$ date -d "-7 days" +"%Y-%m-%d"
2025-02-27

◯月前の日付

3ヶ月前の日付を取得する場合は、下記のコマンドで取得できます

# 現在の日付が 2025-03-06 の場合

# ◯ months agoの場合
$ date -d "3 months ago" +"%Y-%m-%d"
2024-12-06

# -◯ monthsの場合
$ date -d "-3 months" +"%Y-%m-%d"
2024-12-06

◯年前の日付

2年前の日付を取得する場合は、下記のコマンドで取得できます

# 現在の日付が 2025-03-06 の場合

# ◯ years agoの場合
$ date -d "2 years ago" +"%Y-%m-%d"
2023-03-06

# -◯ yearsの場合
$ date -d "-2 years" +"%Y-%m-%d"
2023-03-06

特定の日付を基準に計算

特定の日付を基準して計算することもできます。例えば、「2025-01-01 の 10日前」を取得する場合は以下になります

$ date -d "2025-01-01 -10 days" +"%Y-%m-%d"

逆に未来の日付を取得したい場合は “ago" を使わず、"next" や “+◯ days" を使います

# 15日後
$ date -d "+15 days" +"%Y-%m-%d"
# 2ヶ月後
$ date -d "+2 months" +"%Y-%m-%d"
# 1年後
$ date -d "+1 year" +"%Y-%m-%d"

 

 

スポンサーリンク

0
0