skip to content
barorin&?

開始日から終了日までのリストを作成する方法

/ 1 min read

はじめに

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