工作日计算器
结果
工作日
- 休息日
- 104 天
- 总天数
- 364 天
数工作日不难,难的是先确定一周里哪几天不上班。多数地方是周六周日双休,有些行业仍然只休周日,中东不少国家则是周五周六休。这个工作日计算器在三种口径下都能数出两个日期之间有多少个工作日,并把自然日总数与休息日天数一并给出,三个数永远配平。口径选错时,数字会每一天都偏一点,而页面上完全看不出异常。
公式
工作日 = 自然日总数 − 休息日天数;自然日总数从起始日的次日起算,到结束日当天为止
- startDate
- 起始日,不计入——区间从它的第二天开始
- endDate
- 结束日,计入
- weekend
- 哪几天算休息日:周六周日、只休周日,或者周五周六
- businessDays
- 区间里不是休息日的那些天
- weekendDays
- 区间里是休息日的那些天
- totalDays
- 区间里的每一天,休息日也算
用它回复交期、算清一个通知期覆盖多少个工作日,或者核对一份按天而不是按周报出来的工期。计数口径与日期计算器一致:起始日不计入、结束日计入,所以同一天是 0,一整年是 364。法定节假日不扣——它们逐年由政府公布,所以这里的数字是工作日的上限,不是最终答案。
算例
2026 年全年,周六周日双休
- 区间是 364 天:2026 年有 365 天,起始日不计入而结束日计入
- 364 正好是 52 周,所以区间里每个星期几都恰好出现 52 次
- 周六与周日因此占 104 个休息日,剩下 260 个工作日
- 三个数永远配平:260 + 104 = 364
因为 364 是整数周,三种周末口径在这一条上都会给出同样的 260。下一条才是口径开始起作用的地方。
2026 年 1 月,只休周日
- 区间是 30 天:1 月有 31 天,减掉不计入的 1 月 1 日
- 落进区间的是四个周日——4 日、11 日、18 日、25 日
- 这四天是全部的休息日,所以 30 − 4 = 26 个工作日
- 同一个月按双休口径是 21 个,少了五天
从休两天改成休一天,30 天的月份里会多出五个工作日。对按单休排班的人来说,把口径写死在代码里的工具每一次都会算少,而页面看起来毫无异常。
2026 年 1 月,周五周六休
- 区间仍然是那 30 天,所以自然日总数不变
- 落进区间的是五个周五(2、9、16、23、30 日)与五个周六(3、10、17、24、31 日)
- 十个休息日,剩下 20 个工作日
- 这比双休口径在这个月里多出一个休息日,因为 2026 年 1 月恰好有第五个周五和第五个周六
周五周六休是中东多数国家的周末。三种口径里哪一种休息日更多,完全取决于区间落在哪里,所以答案猜不出来,只能数。
局限
法定节假日不扣,也扣不了:它由各国政府逐年公布,通常提前一年左右,任何内置的清单都会有一个「从某一年起就不准了」而无提示的失效点。所以这里的数字是工作日的上限,落在区间里的节假日请自行减掉。规则能覆盖的只有周末,而给出的三种是通行口径——四天工作制、轮班表、周五半天都不在其内。
常见问题
- 一年有多少个工作日?
- 双休口径下大约是 260 个。1 月 1 日到 12 月 31 日是 364 天,正好 52 周,每个星期几都出现 52 次,其中 260 天是工作日。被排除在外的 1 月 1 日算不算工作日,取决于它是星期几。
- 起始日当天算不算?
- 不算,起始日不计入,结束日计入,所以同一天给 0,一整年给 364。这与日期计算器用的是同一条口径,所以同一对日期在两个页面上分别填进去,结果对得上。想按「含两端」的方式数,在结果上加一天即可。
- 法定节假日算不算在内?
- 不算,这个工具也不打算算。法定节假日由各国政府公布,通常提前一年左右,内置一份清单就会悄悄过期。请自行从结果里减掉,或者查该国当年的官方安排——下面的参考资料里有中国的行政法规与 2026 年的节假日安排。
- 单休怎么算?
- 把「周末口径」改成「只休周日」就行,不用换工具。以 2026 年 1 月为例,双休给 21 个工作日,单休给 26 个,相差五天——差在 1 月里有五个周六却只有四个周日。口径藏死在代码里的工具,对单休的人会每一天都偏少。
- 两个日期写反了可以吗?
- 可以,第二端更早时会先交换再数,答案完全一样。2026 年 1 月 1 日到 31 日与反着填是同一个结果:30 个自然日、21 个工作日、9 个休息日。「相隔多少个工作日」是对称的,没有方向,所以也没有带符号的版本可以给。
参考资料
- 国务院关于职工工作时间的规定 — 司法部 国家行政法规库
- 国务院办公厅关于 2026 年部分节假日安排的通知 — 中国政府网