跳到主要内容

工作日计算器怎么用,算项目排期和交付日的工作日天数

算两个日期之间有多少工作日,从某天往后推 N 个工作日是哪天,扣掉周末和节假日。讲清楚含不含首尾、周末怎么配、账期怎么算,附真实例子。

发布于 作者 李雷
#工作日计算器 #工作日 #项目排期 #日期计算

工作日计算器怎么用,算项目排期和交付日的工作日天数

排期、合同、请假这几件事,绕不开一个问题:两个日期之间到底有几个工作日。自然日好数,翻日历就行;工作日要把周末和节假日一个个扣掉,手数很容易错。这篇讲清楚两种最常见的算法,以及几个真容易踩的坑。

两个日期之间有多少工作日

最基础的用法,是给定开始日和结束日,数中间有几个工作日。比如算一段假期占多少年假额度,或者核对一段交付窗口实际给了团队多少干活的天数。

工作日计算器默认排除周六周日,把整段拆成总自然日、工作日、周末天数、扣除的节假日四行。这四行加起来能对上总数,所以你不用相信一个孤零零的结果数字,可以自己核一遍每一天归到了哪。

这里有一个开关要先想清楚:含不含起止当天。打开"含起止当天"(默认),周一到周五就是 5 个工作日,首尾都算,这也是大多数 SLA 和交付承诺的读法。关掉它,就是秒表式的流逝计数,起始当天算第 0 天,同样的周一到周五变成 4 天。读数字前先确认你合同用的是哪一种。

从某天往后推 N 个工作日是哪天

第二种用法反过来:不是数天数,而是给一个起始日和一个工作日数,算出落在哪一天。"3 个工作日内修复""15 个工作日交付"这类承诺,都要先换算成一个具体的日历日期才好对接。

举个真实例子:工单在 2026 年 6 月 12 日(周五)提出,合同写的是 3 个工作日内修复。切到加减模式,起始日填 2026-06-12,工作日数填 3,结果是 2026-06-17(周三)。中间的周六周日自动跳过了,所以不是简单的加 3 天得到 6 月 15 日。注意加减模式的约定:起始日永远不算,周五之后的第 1 个工作日是下周一。

加减模式还能填负数。展会固定某天开幕,印刷物料要提前 5 个工作日送到,在起始日填活动日期、数量填 -5,计算器就倒着跨过周末和节假日,推到你最晚发货还赶得上的那天。这个兜底日期才是你和供应商对接时真正的截止日。

节假日怎么扣

光排除周末还不够,法定假日也得扣。把节假日列表粘进框里,每行一个 YYYY-MM-DD,比如 2026-10-01。空行、以 # 或 // 开头的行、日期后面跟说明文字(2026-01-01 元旦)都能识别,只读日期那一段;读不出来的行会按行号标出来,不会悄悄丢掉。

有个细节值得记住:落在周末上的节假日不会被重复扣。如果某个法定假日本来就在周六或周日,那天已经是周末了,算法不会再额外扣一次工作日。不少人会"少算一天",以为还能再扣,看一眼周末和节假日的明细行就明白每一天到底归到哪了。

周末不一定是周六周日

周末是一排 7 个按钮,把你所在地区不上班的日子勾上即可。默认周六加周日,但你可以切成周五加周六(中东大部分地区),也可以用单休,甚至标成四天工作制。同一套周末规则同时驱动两日期间的计数和加减天数的推算。

我自己最常用的是核账期。"30 个工作日账期"和 30 个自然日完全不是一回事,扣掉周末后大约是 42 个自然日,差了将近两周。我吃过一次亏,把 Net 30 当成 30 个工作日报了到期日,结果晚了十来天,差点产生滞纳金。现在凡是带"工作日"字样的账期,我都先在加减模式里跑一遍再写进合同。如果供应商放的假和我们不一样,把周末规则和节假日列表调成他们的日历就行。

跨时区会不会差一天

不会。每个日期都按本地零点当作日历日来解析,只读年、月、日,不比较 UTC 时间戳,也不跨时区边界。一个在奥克兰、一个在洛杉矶的同事,输入同样的两个日期串,得到的工作日数完全一样。这是朴素日期运算里最常见的 bug,本工具从设计上就绕开了。

所有运算都在你浏览器标签页里跑,日期不发到任何服务器。输入会同步到 URL,分享链接能还原这次计算,周末规则和节假日列表存在本地,下次进来还在。

如果你要的不是工作日而是两个日期之间精确的年月日跨度,可以用日期间隔计算器;要算从某个日子到今天过了多久,看年龄计算器更顺手。


Made by Toolora · Updated 2026-06-13