from datetime import datetime
date_list = [
{'start_date': '2024/04/01', 'end_date': '2024/04/30'},
{'start_date': '2024/05/01', 'end_date': '2024/05/31'},
{'start_date': '2024/06/01', 'end_date': '2024/06/30'},
{'start_date': '2024/07/01', 'end_date': '2024/07/31'},
]
# 日付文字列を datetime オブジェクトに変換し、リストに格納
datetimes = [
datetime.strptime(date_dict[key], '%Y/%m/%d')
for date_dict in date_list
for key in ['start_date', 'end_date']
]
# 最小の開始日と最大の終了日を取得
min_date = min(datetimes)
max_date = max(datetimes)
# 2つの日付の間の日数を計算
total_days = (max_date - min_date).days + 1 # +1 は両端を含むため
print("最小の日付:", min_date) # 最小の日付: 2024-04-01 00:00:00
print("最大の日付:", max_date) # 最大の日付: 2024-07-31 00:00:00
print("合計日数:", total_days) # 合計日数: 122