はじめに
Pythonで開始日から終了日までのリストを作成する方法です。
方法
from datetime import datetime as dt
from datetime import timedelta
def get_date_list(start_date, end_date):
"""
開始日から終了日までのリスト作成
Args:
start_date(str): 開始日(YYYY-MM-DD)
end_date(str): 終了日(YYYY-MM-DD)
Returns:
date_list(list[datetime.datetime]): 開始日~終了日までのリスト
"""
# 日付条件の設定
start = dt.strptime(start_date, '%Y-%m-%d') # 開始日
end = dt.strptime(end_date, '%Y-%m-%d') # 終了日
# 日付差の日数を算出(リストに最終日も含めるために+1)
days_num = (end - start).days + 1
# リスト作成
date_list = [start + timedelta(days=x) for x in range(days_num)]
return date_list
date_list = get_date_list('2022-1-1', '2022-1-5')
for i in date_list:
print(i.strftime("%Y-%m-%d"))
# 2022-01-01
# 2022-01-02
# 2022-01-03
# 2022-01-04
# 2022-01-05