python判断工作日,节假日

  • 模块 chinesecalendar
  • 爬虫式的方法
  • 模块 pandas
  • 实例

模块 chinesecalendar

针对中国的节假日,强烈推荐。
https://pypi.org/project/chinesecalendar/

哪怕日期属于周一到周五的某一天,但它属于中国的节假日,就会判断这一天为休息日。比如元旦,春节,清明节之类的节假日。同理,如果日期属于周末,但它是调休的,那这一天就是工作日。

# 导入模块
import datetime
from chinese_calendar import is_workday# 获取现在的时间
date = datetime.datetime.now().date()
if is_workday(date):print('工作日')
else:print('休息日')# 指定时间
date = datetime.datetime(2022, 1, 31)
if is_workday(date):print('工作日')
else:print('休息日')

爬虫式的方法

用Requests请求,上网查询。

import json
import requests
import time
#自行设置格式 格式20211224
nowTime = time.strftime('%Y%m%d', time.localtime())
d = '20211224'
# 节假日接口(工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2 )
server_url = "http://www.easybots.cn/api/holiday.php?d="req = requests.get(server_url + d)# 获取data值
vop_data = json.loads(req.text)
print('日期 ' + str(d) + '\n查询结果为 ' + str(vop_data) + '\n结论 ', end=' ')
if int(vop_data[d]) == 0:print('工作日')
elif int(vop_data[d]) == 1:print('是周末')
elif int(vop_data[d]) == 2:print('节假日')
else:print('Error')

模块 pandas

这个对于日期的判断使用了西方的标准。而这个模块是用于输出,不是判断。
date_range() 函数是pandas里的一个方法,能通过调整参数输出想要的结果。pandas和第一个连用效果会好很多


import pandas as pd
day = pd.date_range(start='2022-1-1',end='2022-1-31')                 # 完整的31天
weekday = pd.date_range(start='2022-1-1',end='2022-1-31', freq='B')   # 31天中的工作日
weekend = [x for x in day if x not in weekday]                        # 31天中的非工作日print(day)
print(weekday)
print(weekend)''' 输出结果
DatetimeIndex(['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04','2022-01-05', '2022-01-06', '2022-01-07', '2022-01-08','2022-01-09', '2022-01-10', '2022-01-11', '2022-01-12','2022-01-13', '2022-01-14', '2022-01-15', '2022-01-16','2022-01-17', '2022-01-18', '2022-01-19', '2022-01-20','2022-01-21', '2022-01-22', '2022-01-23', '2022-01-24','2022-01-25', '2022-01-26', '2022-01-27', '2022-01-28','2022-01-29', '2022-01-30', '2022-01-31'],dtype='datetime64[ns]', freq='D')
DatetimeIndex(['2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06','2022-01-07', '2022-01-10', '2022-01-11', '2022-01-12','2022-01-13', '2022-01-14', '2022-01-17', '2022-01-18','2022-01-19', '2022-01-20', '2022-01-21', '2022-01-24','2022-01-25', '2022-01-26', '2022-01-27', '2022-01-28','2022-01-31'],dtype='datetime64[ns]', freq='B')
[Timestamp('2022-01-01 00:00:00', freq='D'),Timestamp('2022-01-02 00:00:00', freq='D'),Timestamp('2022-01-08 00:00:00', freq='D'),Timestamp('2022-01-09 00:00:00', freq='D'),Timestamp('2022-01-15 00:00:00', freq='D'),Timestamp('2022-01-16 00:00:00', freq='D'),Timestamp('2022-01-22 00:00:00', freq='D'),Timestamp('2022-01-23 00:00:00', freq='D'),Timestamp('2022-01-29 00:00:00', freq='D'),Timestamp('2022-01-30 00:00:00', freq='D')]
'''

实例

确定一个时间区间,然后找出区间里哪些是工作日哪些是休息日。

import pandas as pd
day = pd.date_range(start='20220101',periods=40)      # 从元旦开始的连续40天
weekday = []   # 工作日
weekend = []   # 休息日from chinese_calendar import is_workday
for date in day:if is_workday(date):weekday.append(date)else:weekend.append(date)for i in weekend:print(i.year, i.month, i.day)

参考资料:
https://www.cnblogs.com/insane-Mr-Li/p/15378925.html
https://www.jianshu.com/p/1ebbfa30235f

python判断工作日,节假日相关推荐

  1. 最简单判断工作日/节假日API

    由于开发的系统需要根据工作日和节假日来进行逻辑判断,所以这里研究了下方案: 1. 自己维护一份日历表,把每天的日期类型标注清楚 之前的一家公司就是这样解决的,需要每年去手动更新.如果公司规模比较大,对 ...

  2. python 节假日_python判断工作日,节假日

    python判断工作日,节假日 发布时间:2020-09-07 09:37:20编辑:admin阅读(1017) 一.概述 最近在做数据分析,需要判断一个日期是否为工作日,节假日. 找到一个现成的插件 ...

  3. Python判断指定日期是不是法定节假日

    判断一个日期是否为工作日.节假日,有一个现成的库函数:chinesecalendar chinesecalendar · PyPI 1.安装 pip3 install chinesecalendar ...

  4. 根据工作日/节假日收货要求计算预计发货时间

    1.需求: 根据下单时间orderTime(这里默认是系统时间); 客户收货时间要求:工作日=1,节假日2; 计算预计发货时间(这里需要运输时长); 2.思路:  要计算预计发货时间,(仓库的发货截止 ...

  5. python语言判断中国节假日(pip install chinesecalendar)

    判断某年某月某一天是不是工作日/节假日. 支持 2004年 至 2022年,包括 2020年 的春节延长. 一.安装 pip install chinesecalendar #默认安装是最新版版的1. ...

  6. python判断是工作日还是休息日

    一.概述 最近在做数据分析,需要判断一个日期是否为工作日,节假日. 找到一个现成的插件,蛮好用的. 1.1.插件介绍 chinesecalendar · PyPI 判断某年某月某一天是不是工作日/节假 ...

  7. python 判断字典是否包含某个key,以及对应的value 值

    python 判断字典是否包含某个key 可以使用 in 来判断 具体如下: num = {"a": 1, "b": 2, "c": 3} ...

  8. Python 判断当前数值的类型(比如x=10 获取x的类型)

    python 判断当前数值的类型使用type 先面集体说下type 的使用 x = 10 x = type(x) print (x) y = "10" y = type(y) pr ...

  9. 使用Python判断俩张图像相同或以某种方式相似

    使用Python判断俩张图像相同或以某种方式相似 1. 均方误差(MSE) 2. 结构相似性指数(SSIM) 3. 效果图 4. 总结 参考 比较图像有俩种方案: 使用图像哈希/感知哈希/差分哈希比较 ...

  10. python判断一个数是整数、浮点数还是字符串

    python判断一个数是整数.浮点数还是字符串 示例代码:

最新文章

  1. ubuntu16.04 sudo apt-get update解决Hash sum错误
  2. 把大核卷积拆成三步,清华胡事民团队新视觉Backbone刷榜了,集CNN与ViT优点于一身...
  3. 突破磁盘低级检测实现文件隐藏
  4. linux 重启udev服务,Linux 7.x 中 UDEV 生效的方法
  5. linux 内存越界判断_LINUX 共享内存越界
  6. Android源代码解析之(四)--gt;HandlerThread
  7. 初一级模拟赛总结(3.15)
  8. 移动流量转赠给好友_私域流量的五大认知误区
  9. 莒南机器人_莒南42项重点建设项目公布!一定有你关注的
  10. NLP实战-中文新闻文本分类
  11. PL/Sql 中创建、调试、调用存储过程
  12. [译]Go语言常用文件操作汇总
  13. python install causes ModuleNotFoundError: No module named ‘_swigfaiss‘
  14. 机器学习之监督学习(五)——集成学习(Boosting)
  15. python ctp接口_GitHub - keli/ctp-python: 穿透式监管版本CTP接口的Python封装
  16. 嵌入式应该怎么去学?-熊健-专题视频课程
  17. linux怎么越狱苹果手机,苹果手机能不能安装deb?苹果手机越狱后怎么安装deb文件...
  18. 全国超能吃辣的省份,连四川和湖南都不是对手
  19. 【数据挖掘】鸢尾花分析实验与数据降维
  20. 一个前端搞淘宝模板那些事

热门文章

  1. 关于nubia z9 NX508J notification 不显示的问题
  2. android dns 设置,安卓手机怎么设置DNS Android手机修改DNS图文教程
  3. [Ant] [StartWithAnt] 第一章 一个简单的Ant例子
  4. mysql跨库查询数据
  5. html中增加一个播放器,从零实现一个自定义 HTML5 播放器
  6. oracle x$bh 权限,关于Oracle的事务
  7. Cisco 路由器作业1.1 路由器初始化配置
  8. 华为2019.8.22笔试题
  9. 留学生的英文期刊论文怎么写?
  10. 【企业】掌握理查德·费曼学习法,提高学习效率