【Python】日付 datetimeの足し算・引き算

スポンサーリンク

Pythonの日付型「datetime」の足し算・引き算(加算・減算)について。

この記事の内容はコチラです

  • Pythonで日付を足したい
  • 日付を引き算したい

日付の日数を計算することはよくあることですね。

今回は、Pythonで日付「datetime」の足し算・引き算の方法を解説します。

日付 datetime を足し算・引き算する方法

Pythonで日付「datetime」を足す・引く(加算・減算)していきます。

日付・時間を足す(加算)

import datetime

# 現在時刻
dt1 = datetime.datetime.now()
print(dt1)
#[結果] 2023-08-23 07:12:20.806648
# 1日後
dt2 = dt1 + datetime.timedelta(days=1)
print(dt2)
#[結果] 2023-08-24 07:12:20.806648
# 1時間後
dt2 = dt1 + datetime.timedelta(hours=1)
print(dt2)
#[結果] 2023-08-23 08:12:20.806648
# 10分後
dt2 = dt1 + datetime.timedelta(minutes=10)
print(dt2)
#[結果] 2023-08-23 07:22:20.806648
# 30秒後
dt2 = dt1 + datetime.timedelta(seconds=30)
print(dt2)
#[結果] 2023-08-23 07:12:50.806648

日付を足したり引いたりするには、「datetime」の「timedelta」を使います。引数に加算・減算する対象を設定します。日付は「days」です。

日付以外にも時間、分、秒なども足したり引いたりできます。

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

 

日付・時間を引く(減算)

import datetime

# 現在時刻
dt1 = datetime.datetime.now()
print(dt1)
#[結果] 2023-08-23 07:12:20.806648
# 1日前
dt2 = dt1 + datetime.timedelta(days=-1)
print(dt2)
#[結果] 2023-08-22 07:12:20.806648
# 1時間前
dt2 = dt1 + datetime.timedelta(hours=-1)
print(dt2)
#[結果] 2023-08-23 06:12:20.806648
# 10分前
dt2 = dt1 + datetime.timedelta(minutes=-10)
print(dt2)
#[結果] 2023-08-23 07:02:20.806648
# 30秒前
dt2 = dt1 + datetime.timedelta(seconds=-30)
print(dt2)
#[結果] 2023-08-23 07:11:50.806648

日付を引く(減算)するには、「datetime」の「timedelta」の日付・時間をマイナスで指定します。その他は足す方法と同じです。

 

日付+時間、時間+分を足す

import datetime

# 現在時刻
dt1 = datetime.datetime.now()
print(dt1)
#[結果] 2023-08-23 07:12:20.806648
# 3日後+5時間後
dt2 = dt1 + datetime.timedelta(days=3, hours=5)
print(dt2)
#[結果] 2023-08-26 12:12:20.806648
# 1時間30分後
dt2 = dt1 + datetime.timedelta(hours=1, minutes=30)
print(dt2)
#[結果] 2023-08-23 08:42:20.806648

時間だけを足す・引くだけでなく、「1時間30分後」のように時間と分をあわせて足す・引くことができます。その場合は、「timedelta」の引数を2つ、3つと追加していきます。

ページhttps://docs.python.jp/3/library/datetime.html

これで日付「datetime」を足す・引くことができました。

以上、Pythonで日付datetimeを足す・引く(加算・減算)する方法でした。

コメント