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 を使用して、日付と経過日数を含むメッセージを出力します。
{} 内に変数を埋め込むことで、文字列の中に変数の値を挿入できます。
¥2,455 (2024/10/06 10:54時点 | Amazon調べ)
ポチップ