Python: Python: 日付の加算・減算(n日後・n日前)

Pythonで日付の加算・減算を行って、 n日後・n日前の日付を取得したい場合は、 timedate.timedelta()を使います。 英単語の「delta」には「差、差分」といった意味があります。

例えば翌日の日付であればtimedalta()の引数に「day=1」を指定し、 前日の日付であれば「day=-1」を指定します。

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

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

# 翌日
t1 = t + datetime.timedelta(days=1)
print(t1)  # 2021-09-02

# 前日
t2 = t + datetime.timedelta(days=-1)
print(t2)  # 2021-08-31

# 31日後
t3 = t + datetime.timedelta(days=31)
print(t3)  # 2021-10-02

# 31日前
t4 = t + datetime.timedelta(days=-31)
print(t4)  # 2021-08-01
実行結果
2021-09-01
2021-09-02
2021-08-31
2021-10-02
2021-08-01

datetime.timedelta()の引数

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

引数内容
days
seconds
microsecondsマイクロ秒
millisecondsミリ秒
minutes
hours時間
weeks

なお、datetime.timedelta()では「1か月後・1か月前」 といった指定はできません。 その場合は「dateutil.relativedelta()」を指定します。

参考記事:来月・先月(nカ月後・nカ月前)の日付

Python