根据调休动态生成2024年节假日工作日

# coding:utf-8
import datetime

# 假设已知的节假日和调休安排
holidays = [
    datetime.date(2024, 1, 1),  # 元旦
    datetime.date(2024, 2, 10),  # 春节
    datetime.date(2024, 2, 11),  # 春节
    datetime.date(2024, 2, 12),  # 春节
    datetime.date(2024, 2, 13),  # 春节
    datetime.date(2024, 2, 14),  # 春节
    datetime.date(2024, 2, 15),  # 春节
    datetime.date(2024, 2, 16),  # 春节
    datetime.date(2024, 2, 17),  # 春节
    datetime.date(2024, 4, 4),  # 清明节假期
    datetime.date(2024, 4, 5),  # 清明节假期
    datetime.date(2024, 4, 6),  # 清明节假期
    datetime.date(2024, 5, 1),  # 劳动节
    datetime.date(2024, 5, 2),  # 劳动节
    datetime.date(2024, 5, 3),  # 劳动节
    datetime.date(2024, 5, 4),  # 劳动节
    datetime.date(2024, 5, 5),  # 劳动节
    datetime.date(2024, 6, 10),  # 端午节假期
    datetime.date(2024, 9, 15),  # 中秋节假期
    datetime.date(2024, 9, 16),  # 中秋节假期
    datetime.date(2024, 9, 17),  # 中秋节假期
    datetime.date(2024, 10, 1), # 国庆节假期
    datetime.date(2024, 10, 2), # 国庆节假期
    datetime.date(2024, 10, 3), # 国庆节假期
    datetime.date(2024, 10, 4), # 国庆节假期
    datetime.date(2024, 10, 5), # 国庆节假期
    datetime.date(2024, 10, 6), # 国庆节假期
    datetime.date(2024, 10, 7)# 国庆节假期
]

workday_adjustments = [
    datetime.date(2024, 2, 4),  # 春节调休
    datetime.date(2024, 2, 18),  # 春节调休
    datetime.date(2024, 4, 7),  # 清明节调休
    datetime.date(2024, 4, 28),  # 劳动节调休
    datetime.date(2024, 5, 11),  # 劳动节调休
    datetime.date(2024, 9, 14), # 中秋节调休
    datetime.date(2024, 9, 29), # 国庆节调休
    datetime.date(2024, 10, 12) # 国庆节调休
]

# 生成2024年的所有日期
start_date = datetime.date(2024, 1, 1)
end_date = datetime.date(2024, 12, 31)
delta = datetime.timedelta(days=1)

all_dates = []
current_date = start_date
while current_date <= end_date:
    all_dates.append(current_date)
    current_date += delta

# 判断每个日期是否为节假日或调休工作日
for date in all_dates:
    if date in holidays:
        print(f"{date} 是节假日")
    elif date in workday_adjustments:
        print(f"{date} 是调休工作日")
    elif date.weekday() >= 5:  # 周六日休息
        print(f"{date} 是休息日")
    else:
        print(f"{date} 是工作日")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值