**截止文章发布chinese_calendar版本为1.8.0,大约在每年的11月份更新次年的节假日新版本
import datetime
from chinese_calendar import is_workday
def get_pervious_work_day(day: datetime):
"""获取上一个工作日"""
day = day - datetime.timedelta(days=1)
if is_workday(day):
return day
return get_pervious_work_day(day)
测试周六日:
today = datetime.date.today().replace(day=20)
date = get_pervious_work_day(today)
print(date)
测试2023春节:
today = datetime.date.today().replace(day=28).replace(month=1)
date = get_pervious_work_day(today)
print(date)
测试2023劳动节:
today = datetime.date.today().replace(day=4).replace(month=5)
date = get_pervious_work_day(today)
print(date)
测试2023国庆节:
today = datetime.date.today().replace(day=7).replace(month=10)
date = get_pervious_work_day(today)
print(date)
Everything is going smoothly.