1、安装库
pip?install chinesecalendar
1、首先引入日期时间的库,datime、chinese_calendar
import datetime
import chinese_calendar
from chinese_calendar import is_workday
?2、定义开始日期、结束日期,获取两个日期间所有工作日、节假日
start_time = datetime.date(2021, 9, 1) #开始日期
end_time = datetime.date(2021, 9, 30) #结束日期
date_workday = chinese_calendar.get_workdays(start_time,end_time) #两个日期间所有工作日
date_holiday = chinese_calendar.get_holidays(start_time,end_time) #两个日期间所有节假日
?3、 打印看一下结果
print(date_workday) #打印两个日期间的工作日
print(date_holiday) #打印两个日期间的节假日
#打印结果如下
[datetime.date(2021, 9, 1), datetime.date(2021, 9, 2), datetime.date(2021, 9, 3), datetime.date(2021, 9, 6), datet
[datetime.date(2021, 9, 4), datetime.date(2021, 9, 5), datetime.date(2021, 9, 11), datetime.date(2021, 9, 12), datetime.date(2021, 9, 19), datetime.date(2021, 9, 20), datetime.date(2021, 9, 21), datetime.date(2021, 9, 25)]
4、上述结果不是想要的格式,那么将工作日、节假日格式转换进行转换为x月x日,月份和日期前面不要0
workday_list = []
holiday_list = []
for i in date_workday:
w_year = str(i).split('-')[0]
w_month = str(i).split('-')[1]
w_day = str(i).split('-')[2]
if w_month[0] == '0':
w_month = str(i).split('-')[1][1]
if w_day[0] == '0':
w_day = str(i).split('-')[2][1]
workday_list.append(w_month + '月' + w_day + '日')
for j in date_holiday:
h_year = str(j).split('-')[0]
h_month = str(j).split('-')[1]
h_day = str(j).split('-')[2]
if h_month[0] == '0':
h_month = str(j).split('-')[1][1]
if h_day[0] == '0':
h_day = str(j).split('-')[2][1]
holiday_list.append(h_month + '月' + h_day + '日')
5、打印结果
print(workday_list)
#打印结果:
['9月1日', '9月2日', '9月3日', '9月6日', '9月7日', '9月8日', '9月9日', '9月10日', '9月13日', '9月14日', '9月15日', '9月16日', '9月17日', '9月18日', '9月22日', '9月23日', '9月24日', '9月26日', '9月27日', '9月28日', '9月29日', '9月30日']
print(holiday_list)
#打印结果:
['9月4日', '9月5日', '9月11日', '9月12日', '9月19日', '9月20日', '9月21日', '9月25日']
我是me,学习python中,作为笔记记录,如果有更好的方法,请大神指教!
|