【Python】日付の間隔(日数)を求める

スポンサーリンク

Pythonの日付の間隔について。

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

  • Pythonで日付の間隔を求める
  • 〇月〇日~〇月〇日を求める

今回はPythonで日付の間隔をもとめる方法を解説します。

日付の間隔を求める

日付をマイナスする

Pythonで日付の間隔をもとめるには、日付型同士をマイナスします。

from datetime import datetime

dt1 = datetime(2023,8,1)
dt2 = datetime(2023,8,3)

dt3 = dt2- dt1
print(dt3.days)
#[結果] 2

ここでは「2023/8/1」~「2023/8/3」の日付の間隔を求めました。大きい方の日付から小さい方の日付を引き、「days」で日数を取得すると日付の間隔を求めることができました。

日付を引き算すると「経過した日」になります。「2023/8/1」~「2023/8/3」を「3日」とする場合はプラス1する必要があります。

月をまたいだ日数

Pythonで日付の間隔をもとめるときに、月をまたいだ場合、、日数計算が正しくできるか確認してみます。

8月(31日)パターン

from datetime import datetime

dt1 = datetime(2023,8,1)
dt2 = datetime(2023,9,1)

dt3 = dt2- dt1
print(dt3.days)
#[結果] 31

9月(30日)パターン

from datetime import datetime

dt1 = datetime(2023,9,1)
dt2 = datetime(2023,10,1)

dt3 = dt2- dt1
print(dt3.days)
#[結果] 30

ここでは月をまたいだ計算が正しくできるか確認してみました。「2023/8/1」~「2023/9/1」は「31日」、「2023/9/1」~「2023/10/1」は「30日」となりました。月の日数が可変しても正しく日数を取得できました。

以上、Pythonで日付の間隔(日数)を求める方法でした。

コメント