跳转到主要内容

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

项目描述

关于

https://secure.travis-ci.org/Polyconseil/bizdatim.png?branch=master Latest Version Supported Python versions Wheel status License

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)

策略方法的docstrings包含更多示例。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源代码分发包

bizdatim-0.2.0.tar.gz (6.2 kB 查看哈希值)

上传时间 源代码

构建分发版

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

上传时间 Python 3

由以下提供支持