用python编写一个识别中国节假日方法
时间: 2023-03-19 18:21:56 浏览: 208
节假日判断函数
4星 · 用户满意度95%
以下是一个用Python编写的识别中国节假日的示例方法:
```
import datetime
def is_chinese_holiday(date):
"""
判断指定日期是否为中国法定节假日
:param date: 指定日期,格式为'yyyy-mm-dd'
:return: 如果是节假日则返回True,否则返回False
"""
# 将日期字符串转换成datetime.date对象
dt = datetime.datetime.strptime(date, '%Y-%m-%d').date()
# 判断是否为周末
if dt.weekday() >= 5:
return True
# 判断是否为法定节假日
holiday_list = [
{'month': 1, 'day': 1}, # 元旦
{'month': 1, 'day': 2},
{'month': 1, 'day': 3},
{'month': 4, 'day': 4}, # 清明节
{'month': 5, 'day': 1}, # 劳动节
{'month': 5, 'day': 2},
{'month': 5, 'day': 3},
{'month': 6, 'day': 7}, # 端午节
{'month': 9, 'day': 13}, # 中秋节
{'month': 10, 'day': 1}, # 国庆节
{'month': 10, 'day': 2},
{'month': 10, 'day': 3},
{'month': 10, 'day': 4},
{'month': 10, 'day': 5},
{'month': 10, 'day': 6},
{'month': 10, 'day': 7},
]
for holiday in holiday_list:
if dt.month == holiday['month'] and dt.day == holiday['day']:
return True
return False
```
该方法首先将传入的日期字符串转换为datetime.date对象,然后判断该日期是否为周末或法定节假日。如果是,则返回True,否则返回False。
该方法使用了一个holiday_list列表,其中包含了中国法定节假日的日期。如果需要判断其他节日或自定义节日,只需将相应的日期添加到该列表即可。
阅读全文