Python 公共(public)假期在工作日

标签 python python-3.x numpy date datetime

我设法找到了两个(相当全面的)度假套餐,它们是:

最终目标:

我想通过使用这两个套餐中的任何一个来获取int,以应对在工作日的公共(public)假期。国家/地区为澳大利亚,州/省为西澳大利亚州 (WA),这两个套餐均适用于澳大利亚的各州和地区。

MWE:

import numpy as np
start_date = "2019-01-01"
end_date = "2020-01-01"

total_working_days = np.busday_count(start_date, end_date)
# total_public_holidays_that_fall_on_working_days = 
#             use the holidays package to get the number of public holidays
#             that fall on working days (Mon-Fri) between *start_date* and
#             *end_date*.

actual_working_days = total_working_days - total_public_holidays_that_fall_on_working_days

问题:

我想获取实际工作日数(工作日 - 工作日的公共(public)假期)的 int,我如何使用上述库来实现此目的?

最佳答案

来自 workalendar 的文档,根据您的要求进行调整:

from datetime import datetime
from workalendar.oceania.australia import WesternAustralia

start_date = "2019-01-01"
end_date = "2020-01-01"

start_datetime = datetime.strptime(start_date, '%Y-%m-%d')
end_datetime = datetime.strptime(end_date, '%Y-%m-%d')

cal = WesternAustralia()

print(cal.get_working_days_delta(start_datetime, end_datetime))

输出:

252

关于Python 公共(public)假期在工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58985944/

相关文章:

Debian 8 上的 Python numba/llvmlite - 我无法构建 llvmlite

python-3.x - .whl 文件的 Pip 安装只生成 *.dist-info 文件夹

python - pip在python3.6上安装Django

python - Cython 程序比普通 Python 慢(10M 选项 3.5s vs 3.25s Black Scholes)——我错过了什么?

java - Firefox 中的 native Java/Python/Objective C?

python - 在字符串列表上使用 strptime()。不能使用循环

python - 如何在 Python 中按日期对 DataFrame 进行排序?

python - Numpy 矩阵积 - 稀疏矩阵

python - 加速 python 代码——我可以向量化 double for 循环吗?

python - 用dask阅读时如何跳过坏行?