calculator duration days from one time to another
Project description
两个时间点间实际工作时间(去除周六日、节假日)
两个时间点间实际工作时间(去除周六日、节假日)。 支持 2004年 至 2023年,包括 2020年 的春节延长。
安装
pip install workday-duration
详细使用示例请参考代码tests中的测试用例
样例1:时间段包含周六日
from datetime import datetime
from workday_duration.utils import duration_days
start_datetime = datetime.strptime('2020-07-31 12:0:0',"%Y-%m-%d %H:%M:%S")
end_datetime = datetime.strptime('2020-08-03 12:0:0', "%Y-%m-%d %H:%M:%S")
work_days, total_days = duration_days(start_datetime, end_datetime) # 区间全部在休息日)
assert 1 == work_days, "8月1号,2号是周六日,所以实际工作时间为1天"
assert total_days == 3, "绝对时间间隔为3天"
样例2:时间区间包含节假日
from datetime import datetime
from workday_duration.utils import duration_days
start_datetime = datetime.strptime('2020-09-30 12:00:00',"%Y-%m-%d %H:%M:%S")
end_datetime = datetime.strptime('2020-10-02 12:00:00', "%Y-%m-%d %H:%M:%S")
work_days, total_days = duration_days(start_datetime, end_datetime)
assert 0.5 == work_days, "10.1开始为国庆节,所以实际工作时间只有0.5天"
assert total_days == 2
样例3:带时区的时间间隔(自动转为北京时间后计算)
from workday_duration.utils import duration_days2
work_days, total_days = duration_days2('2020-09-30 16:00:00 +0000', '2020-10-02 04:00:00 +0000', '%Y-%m-%d %H:%M:%S %z')
assert 0 == work_days, "10.1开始为国庆节,所以实际这个区间都在休假"
assert total_days == 1.5
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
workday-duration-1.0.8.tar.gz
(4.0 kB
view hashes)
Built Distribution
Close
Hashes for workday_duration-1.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf525d8bdebc0f82111b0944d11e8df554c6844470a7594b74c9f0a593643f10 |
|
MD5 | ab3a4d66486b11ba009721b46bf08b97 |
|
BLAKE2b-256 | f422afc35c2aa63f054deff0984c3b572d99b1da8377c37930501b5c0a5d6108 |