计算事件的重复
icemac.recurrence的Python项目详细描述
此包提供帮助函数来计算 使用zope组件体系结构(zca)的环境。
版权所有(c)2013-2018迈克尔·霍维茨
此软件包是在麻省理工学院许可下授权的,请参阅 包裹。
内容
Usage
通过ZCML在ZCA注册包裹:
<include package="icemac.recurrence" />
计算复发率。该示例计算每个月的第二个星期二。
>>> from icemac.recurrence import get_recurrences >>> get_recurrences( ... datetime=datetime(2015, 10, 13, 11, 15), ... period='nth weekday of month', ... interval_start=datetime(2015, 1, 1), ... interval_end=datetime(2015, 12, 31)) [datetime(2015, 10, 13, 11, 15), datetime(2015, 11, 10, 11, 15), datetime(2015, 12, 8, 11, 15)]
支持的重复周期:
- daily
- weekly
- biweekly
- nth weekday of month
- nth weekday every other month
- nth weekday from end of month
- nth weekday from end of other month
- yearly
Hacking
Changelog
1.6 (2018-08-10)
- 添加对python 3.6和3.7、pypy和pypy3的支持。
- 测试现在使用tox运行。
1.5 (2018-08-03)
- 将许可证从zpl更改为mit。
1.4.2 (2018-03-16)
- 固定每月重复次数的计算不返回 给定间隔开始日期。
1.4.1.post1 (2017-12-26)
- 同时释放为车轮。
1.4.1 (2017-04-11)
- 在计算每月重复次数时修复一个角点情况:如果 应计算复发的间隔开始时间为 在DST之外,但重复日期在DST之内-它不正确 返回的时区对象没有打开DST。
1.4 (2017-04-08)
- 不再从覆盖率报告中排除测试。
1.3.1 (2017-02-04)
- 固定计算双周重复:以前第一次重复 间隔中匹配的工作日用作 间隔。只有一半的情况是正确的。现在计算 间隔中的第一次重复考虑到它必须是 重复开始日期后的偶数周,它处理DST 正确的差异。
1.3 (2017-01-07)
- 添加清单并清除覆盖率配置。
1.2 (2016-04-16)
- 修正对带有夏令时时区的日期的处理 (DST):切换DST时,重复出现的本地时间不变 尽管时间的UTC表示现在会改变。
1.1 (2016-03-01)
- 缩短get_recurrences()的导入路径 icemac.recurrence.recurrence到icemac.recurrence。
- 重构测试以使用py.testfixture。
- 每隔一个月修正第n个工作日期间的一个月错误 其他月底起的第n个工作日。
- 使测试覆盖率达到100%,即使是分支覆盖率。
1.0.1 (2015-10-22)
- 修复损坏的1.0.0版本。
1.0.0 (2015-10-13)
- 从icemac.ab.calendar中提取包,以便在其他项目中重用。