python判断工作日,节假日
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判断工作日,节假日相关推荐
- 最简单判断工作日/节假日API
由于开发的系统需要根据工作日和节假日来进行逻辑判断,所以这里研究了下方案: 1. 自己维护一份日历表,把每天的日期类型标注清楚 之前的一家公司就是这样解决的,需要每年去手动更新.如果公司规模比较大,对 ...
- python 节假日_python判断工作日,节假日
python判断工作日,节假日 发布时间:2020-09-07 09:37:20编辑:admin阅读(1017) 一.概述 最近在做数据分析,需要判断一个日期是否为工作日,节假日. 找到一个现成的插件 ...
- Python判断指定日期是不是法定节假日
判断一个日期是否为工作日.节假日,有一个现成的库函数:chinesecalendar chinesecalendar · PyPI 1.安装 pip3 install chinesecalendar ...
- 根据工作日/节假日收货要求计算预计发货时间
1.需求: 根据下单时间orderTime(这里默认是系统时间); 客户收货时间要求:工作日=1,节假日2; 计算预计发货时间(这里需要运输时长); 2.思路: 要计算预计发货时间,(仓库的发货截止 ...
- python语言判断中国节假日(pip install chinesecalendar)
判断某年某月某一天是不是工作日/节假日. 支持 2004年 至 2022年,包括 2020年 的春节延长. 一.安装 pip install chinesecalendar #默认安装是最新版版的1. ...
- python判断是工作日还是休息日
一.概述 最近在做数据分析,需要判断一个日期是否为工作日,节假日. 找到一个现成的插件,蛮好用的. 1.1.插件介绍 chinesecalendar · PyPI 判断某年某月某一天是不是工作日/节假 ...
- python 判断字典是否包含某个key,以及对应的value 值
python 判断字典是否包含某个key 可以使用 in 来判断 具体如下: num = {"a": 1, "b": 2, "c": 3} ...
- Python 判断当前数值的类型(比如x=10 获取x的类型)
python 判断当前数值的类型使用type 先面集体说下type 的使用 x = 10 x = type(x) print (x) y = "10" y = type(y) pr ...
- 使用Python判断俩张图像相同或以某种方式相似
使用Python判断俩张图像相同或以某种方式相似 1. 均方误差(MSE) 2. 结构相似性指数(SSIM) 3. 效果图 4. 总结 参考 比较图像有俩种方案: 使用图像哈希/感知哈希/差分哈希比较 ...
- python判断一个数是整数、浮点数还是字符串
python判断一个数是整数.浮点数还是字符串 示例代码:
最新文章
- ubuntu16.04 sudo apt-get update解决Hash sum错误
- 把大核卷积拆成三步,清华胡事民团队新视觉Backbone刷榜了,集CNN与ViT优点于一身...
- 突破磁盘低级检测实现文件隐藏
- linux 重启udev服务,Linux 7.x 中 UDEV 生效的方法
- linux 内存越界判断_LINUX 共享内存越界
- Android源代码解析之(四)--gt;HandlerThread
- 初一级模拟赛总结(3.15)
- 移动流量转赠给好友_私域流量的五大认知误区
- 莒南机器人_莒南42项重点建设项目公布!一定有你关注的
- NLP实战-中文新闻文本分类
- PL/Sql 中创建、调试、调用存储过程
- [译]Go语言常用文件操作汇总
- python install causes ModuleNotFoundError: No module named ‘_swigfaiss‘
- 机器学习之监督学习(五)——集成学习(Boosting)
- python ctp接口_GitHub - keli/ctp-python: 穿透式监管版本CTP接口的Python封装
- 嵌入式应该怎么去学?-熊健-专题视频课程
- linux怎么越狱苹果手机,苹果手机能不能安装deb?苹果手机越狱后怎么安装deb文件...
- 全国超能吃辣的省份,连四川和湖南都不是对手
- 【数据挖掘】鸢尾花分析实验与数据降维
- 一个前端搞淘宝模板那些事
热门文章
- 关于nubia z9 NX508J notification 不显示的问题
- android dns 设置,安卓手机怎么设置DNS Android手机修改DNS图文教程
- [Ant] [StartWithAnt] 第一章 一个简单的Ant例子
- mysql跨库查询数据
- html中增加一个播放器,从零实现一个自定义 HTML5 播放器
- oracle x$bh 权限,关于Oracle的事务
- Cisco 路由器作业1.1 路由器初始化配置
- 华为2019.8.22笔试题
- 留学生的英文期刊论文怎么写?
- 【企业】掌握理查德·费曼学习法,提高学习效率