欢迎访问宙启技术站
智能推送

Python中如何计算两个日期之间的工作日天数:利用datetime()函数

发布时间:2023-12-16 12:27:45

在Python中,我们可以使用datetime模块来计算两个日期之间的工作日天数。下面是一个示例,其中使用了datetime模块的date()timedelta()函数:

from datetime import date, timedelta

def count_workdays(start_date, end_date):
    """
    计算两个日期之间的工作日天数
    :param start_date: 开始日期,格式为YYYY-MM-DD
    :param end_date: 结束日期,格式为YYYY-MM-DD
    :return: 工作日天数
    """
    start = date.fromisoformat(start_date)
    end = date.fromisoformat(end_date)
    
    # 确保开始日期早于结束日期
    if start > end:
        start, end = end, start
    
    count = 0
    current_date = start
    while current_date <= end:
        if current_date.weekday() < 5:  # 周一到周五为工作日
            count += 1
        current_date += timedelta(days=1)
        
    return count

让我们来看一个使用示例:

print(count_workdays('2022-01-01', '2022-12-31'))

这将输出2022年1月1日到2022年12月31日之间的工作日天数。

请注意,这个方法假设周一到周五为工作日,而周六和周日为非工作日。如果你的工作日定义有所不同,你可以根据需要进行修改。