IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python- 工作/休息/调休日怎么精准判断 -> 正文阅读

[Python知识库]python- 工作/休息/调休日怎么精准判断

python的第三方模块chinesecalendar,提供了判断工作日、休息日、节假日的方法。
不仅可以判断法定节假日,还可以返回节假日的名称,对调休日也可以做出判断,十分好用。
具体用法如下:
1、chinesecalendar模块安装
进入到本地python安装的Scripts文件路径下,
输入安装命令:pip install chinesecalendar,回车即可安装。
在这里插入图片描述
注:每一年年底都需更新到最新版本的chinesecalendar,才会支持最新的一年。如上图安装的是最新版本,支持2004年-2022年。如果不更新,超过版本支持的年份,将会报错,如这里的版本只支持到2022年,超过将会报错如下:
在这里插入图片描述

2、chinesecalendar模块常见方法及导入

该模块常用的方法,如下表:

模块说明
is_workday判断是否为工作日,语法:is_workday(date)
is_holiday判断是否为节假日/休息日,语法:is_holiday(date)
is_in_lieu判断是否为调休日,语法:is_in_lieu(date)
get_holiday_detail判断是否为节假日、节假日名称,语法:get_holiday_detail(date)返回值:元组,如,(True, ‘Dragon Boat Festival’),Dragon Boat Festival-端午节
get_workdays传入开始日期和结束日期,得到工作日的日期,语法:get_workdays(start_date,end_date)
get_holidays传入开始日期和结束日期,得到休息日的日期,语法:get_holidays(start_date,end_date)

导入该模块的方法,如,导入is_workday方法

from chinese_calendar import is_workday

3、使用实例

3.1、输入日期,判断这一天是工作日or休息日(包含调休日),并且判断是否为节假日,如果是,输出节日名称。

import datetime
from chinese_calendar import is_workday, is_holiday, is_in_lieu, get_holiday_detail

while True:
    time1 = input('请输入XXXX-XX-XX格式的日期:')
    time2 = datetime.datetime.strptime(time1, '%Y-%m-%d')
    if is_workday(time2):
        print(time1+":是工作日")
    if is_in_lieu(time2):
        print(time1+":是调休日")
    if is_holiday(time2):
        print(time1 + ":是休息日")
        if get_holiday_detail(time2)[1] is not None:
            print('节日名:'+get_holiday_detail(time2)[1])

在这里插入图片描述
3.2、打印某个时间区间,是工作日的日期
如,打印出2022年5月1日-2022年5月31,是工作日的日期

from datetime import datetime, date
from chinese_calendar import get_workdays
# 输出2022.5.1-2022.5.31的工作日
work_day = get_workdays(datetime(2022, 5, 1), datetime(2022, 5, 31))
work_day = [date.strftime(i, '%Y-%m-%d') for i in work_day]
print(work_day)

在这里插入图片描述
3.3、打印某个时间区间,是休息日的日期
如,打印出2022年5月1日-2022年5月31,是休息日的日期

from datetime import datetime,date
from chinese_calendar import get_holidays
# 输出2022.5.1-2022.5.31d的节假日
hol_day = get_holidays(datetime(2022, 5, 1), datetime(2022, 5, 31))
hol_day = [date.strftime(i, '%Y-%m-%d') for i in hol_day]
print(hol_day)

在这里插入图片描述
注:上面代码中还用到了datetime模块,主要用来字符串与时间格式数据的转换。

以上就是chinesecalendar模块的用法。
微信关注【一位代码】,了解更多关于python、mysql相关问题解决办法。
-end-

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:40:12  更:2022-08-06 10:40:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:36:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码