Skip to main content

用于执行简单工作日算术的模块;从 python-bizdatetime 分叉

项目描述

关于

https://secure.travis-ci.org/Polyconseil/bizdatim.png?branch=master 最新版本 支持的 Python 版本 车轮状态 执照

bizdatim 是一个用于执行工作日算术的简单库。

源代码托管在https://github.com/Polyconseil/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 查看哈希

已上传 source

内置分布

bizdatim-0.2.0-py3-none-any.whl (7.4 kB 查看哈希

已上传 3 4