HOME
Python でプログラミングを始められる方を対象とした Python 入門です。Python におけるプログラムの記述方法をサンプルコードと一緒に学習します。
Python では、datetime
モジュールの timedelta
オブジェクトは、2 つの日時の時刻間の差を表します。つまり、datetime
オブジェクトで日時計算を行うと、timedelta
オブジェクトが返されます。
import datetime
d1 = datetime.datetime(2020, 1, 1)
print(d1) # 2020-01-01 00:00:00
d2 = datetime.datetime(2010, 1, 1)
print(d2) # 2010-01-01 00:00:00
d = d1 - d2
print(d) # 3652 days, 0:00:00
print(type(d)) # <class 'datetime.timedelta'>
timedelta
オブジェクトの取得Python における日時の足し算や引き算は以下のように行います。
import datetime
d = datetime.datetime.now()
print(d) # 2021-01-04 19:57:26.718246
# 1 秒前
print(d - datetime.timedelta(seconds=1)) # 2021-01-04 19:57:25.718246
# 1 分前
print(d - datetime.timedelta(minutes=1)) # 2021-01-04 19:56:26.718246
# 1 時間前
print(d - datetime.timedelta(hours=1)) # 2021-01-04 18:57:26.718246
# 1 日前
print(d - datetime.timedelta(days=1)) # 2021-01-03 19:57:26.718246
# 1 週間前 (days=7 と同じ)
print(d - datetime.timedelta(weeks=1)) # 2020-12-28 19:57:26.718246