用于执行简单工作日算术的模块;从python bizdatetime派生
bizdatim的Python项目详细描述
已知限制
不支持周末/假日轮换(例如,两天工作,第三天 关闭)。
营业时间计算仅限于加法。
定义
- 周末
- 每周重复非工作日。周末不一定要结束 (或开始)或一周。周末不必连续几天。
- 假日
像周末一样,假日是非工作日。不像周末,假日
没有每周的规律性。只是约会而已。假期可以与
周末。
- 工作时间
- 工作日的开始和结束时间。
- 政策
- 是周末、假日和工作时间的集合(可能是空的)。所有计算 在策略内执行。
示例用法
所有工作日计算都在策略的上下文中执行:
>>> 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包含更多示例。