给定两个日期,计算它们之间的工作日天数(排除周末)。
时间: 2024-11-24 14:42:01 浏览: 13
巧用Office Excel自动工作日计算
为了计算给定两个日期之间的工作日天数,你可以使用 Python 的 `dateutil.relativedelta` 库来轻松处理。下面是一个简单的函数示例:
```python
from datetime import datetime
from dateutil.relativedelta import relativedelta, MO, TU, WE, TH, FR
def workdays_between_dates(date1, date2):
# 将输入转换为 datetime 对象
start_date = datetime.strptime(date1, '%Y-%m-%d')
end_date = datetime.strptime(date2, '%Y-%m-%d')
# 设置工作日范围(周一至周五)
days_in_week = MO, TU, WE, TH, FR
# 计算两个日期之间的差值,并过滤掉周末
delta = relativedelta(end_date, start_date)
working_days = sum(1 for i in range(delta.years * 365 + delta.months * 30 + delta.days)
if (datetime(start_date.year, start_date.month, start_date.day + i).weekday() in days_in_week))
return working_days
# 使用示例
date1 = '2023-01-01'
date2 = '2023-01-15'
num_of_work_days = workdays_between_dates(date1, date2)
print(num_of_work_days) # 输出:工作日在之间的天数
阅读全文