calculator duration days from one time to another
Project description
两个时间点间实际工作时间(去除周六日、节假日)
两个时间点间实际工作时间(去除周六日、节假日)。 支持 2004年 至 2021年,包括 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
File details
Details for the file workday-duration-1.0.4.tar.gz.
File metadata
- Download URL: workday-duration-1.0.4.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87ee7c68dfea7467886915f934f819e55c61414fcf4816e3f9e8c0082dacca3a
|
|
| MD5 |
4463066ee7dee86bf99776bf78ae7982
|
|
| BLAKE2b-256 |
936ee423acd568642ccb3e93c30df302940c49e616a99d9678d44e3363b17040
|