python 拆分工作日和节假日
时间: 2023-12-11 22:32:39 浏览: 103
以下是Python拆分工作日和节假日的示例代码:
```python
import datetime
import json
import requests
# 获取节假日信息
def get_holiday_info(year):
url = 'http://timor.tech/api/holiday/year/{}'.format(year)
response = requests.get(url)
holiday_info = json.loads(response.text)
return holiday_info
# 拆分工作日和节假日
def split_workday_holiday(start_date, end_date):
holiday_info = get_holiday_info(datetime.datetime.now().year)
date_list = []
while start_date <= end_date:
if start_date.weekday() in [5, 6] or start_date.strftime('%Y-%m-%d') in holiday_info.keys():
date_list.append([start_date.strftime('%Y-%m-%d'), 'Holiday'])
else:
date_list.append([start_date.strftime('%Y-%m-%d'), 'Workday'])
start_date += datetime.timedelta(days=1)
return date_list
# 示例
start_date = datetime.datetime(2022, 1, 1)
end_date = datetime.datetime(2022, 1, 10)
date_list = split_workday_holiday(start_date, end_date)
print(date_list)
```
该示例代码中,`get_holiday_info()`函数通过调用第三方API获取指定年份的节假日信息,返回一个字典类型的节假日信息。`split_workday_holiday()`函数接收起始日期和结束日期作为参数,遍历这段时间内的每一天,判断该天是否为周末或节假日,将其加入到一个列表中并返回。最后,我们可以通过调用`split_workday_holiday()`函数并传入起始日期和结束日期来获取拆分后的工作日和节假日列表。
阅读全文