Python中工作日类库Busines Holiday的介绍与使用


Posted in Python onJuly 06, 2017

引言

大家在日常工作中,经常会碰到类似的场景,需要计算在某个时间段内的工作日以及确定某天是否为工作日,这里的介绍的工具包将很好的解决这个问题。

Python中工作日类库Busines Holiday的介绍与使用

1. 工具包Business Holiday介绍

其提供了非常简单易用的计算工作日的接口,并允许用户指定特定日期为假期,从而将其从当前的工作日中剔除。

项目主页: https://pypi.Python.org/pypi/business_calendar/

文档首页: http://py-business-calendar.readthedocs.io/en/latest/

2. 功能分析与介绍

Case 1: 计算在某个时间段之内的工作日天数

from business_calendar import Calendar, MO, TU, WE, TH, FR
import datetime
date1 = datetime.datetime(2013,1,10)
# normal calendar, no holidays
cal = Calendar()
date2 = datetime.datetime(2013,3,20)
print('%s days between %s and %s' % (cal.busdaycount(date1, date2), date1, date2))

功能描述: 计算2013/1/10之后的25天之内的工作日天数:

49 days between 2013-01-10 00:00:00 and 2013-03-20 00:00:00

Case 2: 计算若干工作日之后的日期

from business_calendar import Calendar, MO, TU, WE, TH, FR
import datetime
date1 = datetime.datetime(2013,1,10)
cal = Calendar()
date2 = cal.addbusdays(date1, 25)
print("The specified date will be %s" % date2)

功能描述: 计算25个工作日之后的日期

The specified date will be 2013-02-14 00:00:00

Case 3: 结合假期,以及星期的概念,计算工作日:

from business_calendar import Calendar, MO, TU, WE, TH, FR
import datetime
date1 = datetime.datetime(2013,1,10)
# normal calendar, no holidays
cal = Calendar(workdays=[MO,TU,WE,TH], holidays=['2013-01-17'])
date2 = datetime.datetime(2013,3,20)
print('%s days between %s and %s' % (cal.busdaycount(date1, date2), date1, date2))

功能描述: 指定周一到周四工作,1.17日是公众假期,计算会有多少个工作日:

38 days between 2013-01-10 00:00:00 and 2013-03-20 00:00:00

3. 功能分析

在该类库中,有workday和businessday的概念:

  • addbusydays(date, offset) 其将考虑holidays公休假的因素
  • addworkdays(date, offset) 忽略公休假的因素
  • busdaycount(date1, date2) 计算两个时间点直接的工作日
  • range(date1, date2) 返回工作日列表, 考虑假期因素
  • isworkday(date) 是否是工作日,忽略公休假的因素
  • isbusday(date) 是否工作日,考虑公休假
  • isHoliday(date) 是否是假日

4. 总结

business_holiday的包是非常强大了,基本覆盖了我们关于假期的需求,大家可以自行尝试一下如何使用。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
分析Python编程时利用wxPython来支持多线程的方法
Apr 07 Python
在Python中用keys()方法返回字典键的教程
May 21 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
django ajax json的实例代码
May 29 Python
Python多线程处理实例详解【单进程/多进程】
Jan 30 Python
python os.fork() 循环输出方法
Aug 08 Python
python类的实例化问题解决
Aug 31 Python
Python queue队列原理与应用案例分析
Sep 27 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
使用keras根据层名称来初始化网络
May 21 Python
Python非单向递归函数如何返回全部结果
Dec 18 Python
python 实现客户端与服务端的通信
Dec 23 Python
Python中动态检测编码chardet的使用教程
Jul 06 #Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
Jul 06 #Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 #Python
Python中定时任务框架APScheduler的快速入门指南
Jul 06 #Python
Python如何快速实现分布式任务
Jul 06 #Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
Jul 06 #Python
Python标准库sched模块使用指南
Jul 06 #Python
You might like
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
php 保留小数点
2009/04/21 PHP
PHP基础知识介绍
2013/09/17 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
javascript 中关于array的常用方法详解
2017/05/05 Javascript
详解vue.js的devtools安装
2017/05/26 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
python实现发送邮件功能代码
2017/12/14 Python
PyCharm 常用快捷键和设置方法
2017/12/20 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
python读取xlsx的方法
2018/12/25 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
人力资源主管岗位职责
2014/01/29 职场文书
人事专员职责
2014/02/22 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
投资建议书模板
2014/05/12 职场文书
白岩松演讲
2014/05/21 职场文书
早会开场白台词大全
2015/06/01 职场文书
横空出世观后感
2015/06/09 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL