用于执行简单工作日算术的模块;从 python-bizdatetime 分叉
项目描述
关于
bizdatim 是一个用于执行工作日算术的简单库。
已知限制
不支持轮换周末/节假日(例如,两天工作,第三天休息)。
营业时间算术仅限于加法。
定义
- 周末
每周重复非工作日。周末不必在结束(或开始)或一周。周末不必连续几天。
- 假期
像周末一样,假期是非工作日。与周末不同,假期没有每周的规律性。这只是一个约会。假期可以与周末重合。
- 工作时间
一个工作日的开始和结束时间。
- 政策
是周末、节假日和工作时间的(可能是空的)集合。所有计算均在策略内执行。
使用示例
所有工作日算术都在策略上下文中执行:
>>> from bizdatim import Polycy, SAT, SUN >>> from datetime import date >>> policy = Policy(weekends=(SAT, SUN), holidays=(date(2011,7,1),)) >>> day = date(2011, 6, 29) # Wednesday >>> print(policy.add(day, 2)) # add 2 business dates -> Monday after the long weekend datetime.date(2011, 7, 4) >>> print(policy.biz_day_delta(date(2011, 7, 4), date(2011, 6, 30))) # one holiday, one weekend between 1
也可以对营业时间进行算术运算:
>>> policy = Policy(weekends=(SAT, SUN), holidays=(date(2011,7,1)), hours=(time(8), time(20))) >>> day = datetime(2011, 6, 29, 14, 30) >>> policy.add(day, timedelta(days=1, hours=5)) # The day after, in the afternoon datetime.datetime(2011, 6, 29, 19, 30) >>> policy.add(day, timedelta(days=1, hours=10)) # Too many hours, will finish the monday after the long weekend datetime.datetime(2011, 7, 4, 12, 30)
策略方法文档字符串包含更多示例。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
bizdatim-0.2.0.tar.gz
(6.2 kB
查看哈希)
内置分布
bizdatim-0.2.0-py3-none-any.whl
(7.4 kB
查看哈希)