📅 2026-08-23 · Calc-Tools 编辑

工作日计算:两日期间有多少工作日?

在项目管理、请假审批、合同工期计算等场景中,经常需要计算两个日期之间的工作日天数。手动计算不仅耗时,还容易出错。本文将详细介绍工作日计算的方法、公式和实用技巧,并推荐一款免费的在线工作日计算器。

什么是工作日?

工作日通常指周一至周五的日期,不包括周六和周日。但在实际工作中,还需要考虑:

工作日计算方法

方法一:手动计算(简单场景)

对于不涉及节假日的简单场景,可以按以下步骤计算:

  1. 计算两个日期之间的总天数
  2. 统计其中的周六和周日数量
  3. 总天数 - 周末天数 = 工作日天数

示例:2026年8月3日(周一)到2026年8月7日(周五)

方法二:考虑节假日(复杂场景)

当日期范围包含法定节假日时,需要额外扣除:

  1. 计算基础工作日(扣除周末)
  2. 识别范围内的法定节假日
  3. 扣除节假日天数
  4. 如有调休,加回调休工作日

工作日计算公式

通用工作日计算公式:

工作日 = 总天数 - 周末天数 - 节假日天数 + 调休工作日

JavaScript实现

function calculateWorkdays(startDate, endDate, holidays = []) {
    let workdays = 0;
    const current = new Date(startDate);
    
    while (current <= endDate) {
        const dayOfWeek = current.getDay();
        const isWeekend = dayOfWeek === 0 || dayOfWeek === 6;
        const isHoliday = holidays.some(h => 
            h.toDateString() === current.toDateString()
        );
        
        if (!isWeekend && !isHoliday) {
            workdays++;
        }
        
        current.setDate(current.getDate() + 1);
    }
    
    return workdays;
}

常见应用场景

1. 项目排期

项目经理需要估算任务所需的工作日天数,以便制定合理的项目计划。例如:

2. 请假审批

员工请假时,HR需要计算请假天数。例如:

3. 合同工期

合同中约定的工期通常以工作日计算。例如:

4. 财务结算

某些财务结算周期以工作日计算,如:

2026年法定节假日安排

2026年法定节假日如下(具体调休安排以国务院通知为准):

节假日 放假日期 天数
元旦 1月1日 1天
春节 1月28日-2月3日 7天
清明节 4月4日-4月6日 3天
劳动节 5月1日-5月5日 5天
端午节 5月31日-6月2日 3天
中秋节 9月25日 1天
国庆节 10月1日-10月7日 7天

常见问题解答

Q: 工作日计算包含开始和结束日期吗?

A: 包含。统计区间包含开始日期和结束日期本身,只要当天是工作日就会计入。

Q: 如何处理调休?

A: 调休是指将周末调整为工作日。计算时需要:1) 扣除法定节假日;2) 加回调休的工作日。

Q: 不同国家的工作日计算有区别吗?

A: 有区别。不同国家的周末安排(如周五周六休息)、法定节假日都不同,需要根据具体情况调整。

在线使用 🧮 工作日计算器

快速计算两个日期之间的工作日天数,支持排除法定节假日

立即计算 →