计算两个日期之间的工作日天数
时间: 2024-09-12 14:17:40 浏览: 82
计算两个日期之间周末的天数和工作日天数
5星 · 资源好评率100%
计算两个日期之间的工作日天数通常涉及到从较早的日期到较晚日期之间的所有日期,但需要排除周末(通常是周六和周日)。这个过程可以手动完成,比如通过编写循环检查每个日期是否为工作日,或者利用编程库提供的现成函数。在Python中,你可以使用`pandas`库的`BDay`类:
```python
from pandas.tseries.holiday import USFederalHolidayCalendar
import pandas as pd
def work_days_between_dates(start_date, end_date):
# 创建一个美国联邦假期日历
cal = USFederalHolidayCalendar()
# 将日期转换为pd.Timestamp对象
start = pd.to_datetime(start_date)
end = pd.to_datetime(end_date)
# 创建一个BusinessDayIndex对象,基于给定的日历
business_days = pd.date_range(start=start, end=end, freq='B')
# 返回工作日的数量,减去周末和假期
return len(business_days) - (business_days.weekday >= 5).sum()
# 使用示例
start_date = '2023-01-01'
end_date = '2023-01-31'
work_days = work_days_between_dates(start_date, end_date)
```
阅读全文