python 获取两个日期间的工作日并更改日期格式

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中,作为笔记记录,如果有更好的方法,请大神指教!

你可能感兴趣的:(python学习,python)