Python: 来月・先月(nカ月後・nカ月前)の日付を取得

Pythonで来月・先月(nカ月後・nカ月前) といった日付を取得したい場合は、 dateutil.relativedelta()を使用します。 英単語の「delta」には「差、差分」といった意味があります。

例えば来月であればrelativedelta()の引数に「month=1」を指定し、 先月であれば「month=-1」を指定します。

次のサンプルコードでは、 当日の日付を基準として、 翌月・先月・13か月後・13カ月前の日付を取得・表示しています。

# 当日
t = datetime.date.today()
print(t)   # 2021-09-01

# 翌月
t1 = t + relativedelta(months=1)
print(t1)  # 2021-10-01

# 先月
t2 = t + relativedelta(months=-1)
print(t2)  # 2021-08-01

# 13カ月後
t3 = t + relativedelta(months=13)
print(t3)  # 2022-10-01

# 13か月前
t4 = t + relativedelta(months=-13)
print(t4)  # 2020-08-01
実行結果
2021-09-01
2021-10-01
2021-08-01
2022-10-01
2020-08-01

dateutil.relativedelta()の引数

dateutil.relativedelta()で指定できる引数は次の通りです。

引数内容
years
months
days
weeks
hours時間
minutes
seconds
microsecondsマイクロ秒
Python