記事内に広告が含まれています。

【Python】日付から経過日数を計算する方法:datetime

【Python】日付から経過日数を計算する方法:datetime IT
IT

Pythonを使用して、2つの日付から、経過日数(日数の差)を計算するプログラムです。

すぐに使えるようにコードから書いていますので、コピペまたは改変して使用してください。
記事の後半でコードについて解説しております。

スポンサーリンク
     

日付から経過日数を計算するプログラム

from datetime import datetime

def days_between_dates(date1, date2):
    # 日付を文字列からdatetimeオブジェクトに変換
    date1_obj = datetime.strptime(date1, '%Y-%m-%d')
    date2_obj = datetime.strptime(date2, '%Y-%m-%d')

    # 日数の差を計算
    delta = date2_obj - date1_obj

    # 経過日数を取得し返す
    return abs(delta.days)

# 日付を指定
date1 = '2024-01-01'
date2 = '2024-02-10'

# 経過日数を計算
elapsed_days = days_between_dates(date1, date2)

# 結果を出力
print(f'日付 {date1} から {date2} までの経過日数は {elapsed_days} 日です。')

# 出力結果:
# 日付 2024-01-01 から 2024-02-10 までの経過日数は 40 日です。
     

コードの解説

  • from datetime import datetime
    Pythonの datetime モジュールから datetime クラスをインポートします。
    このクラスは、日付と時間を操作するための便利な機能を提供します。
  • def days_between_dates(date1, date2):
    days_between_dates という関数を定義します。
    この関数は、2つの日付を受け取り、それらの日付間の経過日数を計算するために使用されます。
  • date1_obj = datetime.strptime(date1, ‘%Y-%m-%d’)
    datetime.strptime() メソッドを使用して、日付の文字列 date1 を日付オブジェクトに変換します。
    ‘%Y-%m-%d’ は日付の形式を示しており、Y は年、m は月、d は日を表します。
  • delta = date2_obj – date1_obj
    2つの日付オブジェクトを引き算することで、日数の差分を delta 変数に格納します。
    これにより、delta は timedelta オブジェクトとなります。
  • return abs(delta.days)
    delta.days は timedelta オブジェクトの属性であり、日数の差を表します。
    abs() 関数は絶対値を取得するために使用され、マイナスの場合でも正の整数として返されます。
  • print(f’日付 {date1} から {date2} までの経過日数は {elapsed_days} 日です。’)
    f-string を使用して、日付と経過日数を含むメッセージを出力します。
    {} 内に変数を埋め込むことで、文字列の中に変数の値を挿入できます。