首页 > 解决方案 > 我如何使用这样的假期列表在我的一天列表中查找假期。这种方法给了我一个错误

问题描述

import datetime

startDate = '2020-01-01'
start = datetime.datetime.strptime(startDate, '%Y-%m-%d')


holidays=[2020-1-5, 2020-1-11, 2020-1-13]

for dayNum in range(0,366):
    dayOfYear = start + datetime.timedelta(days=dayNum)

    if dayNum in holidays:
        print("HOLIDAY")

标签: python-3.x

解决方案


像这样的东西应该工作

from datetime import datetime, timedelta

startDate = '2020-01-01'
start = datetime.strptime(startDate, '%Y-%m-%d')

holidays_str = ['2020-01-05', '2020-01-11', '2020-01-13']
holidays = [datetime.strptime(day, '%Y-%m-%d') for day in holidays_str]

for day in range(0, 366):
    day_of_year = start + timedelta(days=day)

    if day_of_year in holidays:
        print(datetime.strftime(day_of_year, '%Y-%m-%d'), "HOLIDAY")

推荐阅读