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で日付の間隔(日数)を求める方法でした。
コメント