距截止日期还有多少个工作日?先把三件事说清楚

· 5 分钟阅读 · 工作日 日期计算 · English

问"2026-10-01 到 2026-12-31 有多久",正确答案可能有四个:91 天、13 个整周、65 个工作日、2 个月 30 天。它们不冲突,只是回答了不同的问题。项目排期要工作日,租约要月数,通知期要说"两个月零三十天",航班要小时。会算错,几乎都不是算术错,而是没先说清这三件事。

一、首尾两天算不算

排期类工具的常见口径是首日算、末日不算,所以 2026-10-01 到 2026-10-02 是 1 天;住店、请假、住院那类单据用的是另一种口径——两端都算,同样两个日期变成 2 天。日期间隔计算默认走前者,勾上"结束那天也算一天"就切到后者:91 天变 92 天,工作日 65 变 66。

这也是 Excel 的 NETWORKDAYS 和上面那个默认口径差 1 天的常见原因:NETWORKDAYS 两端都算,而且要求你把节假日区域自己传进去。跟同事对不上数时,先问口径,再怀疑算术。

二、“工作日"只到周一到周五为止

工作日按周一到周五算,不知道法定节假日,也不知道调休补班。所以 2026-10-01 到 10-07 这七天,它给的是 5 个工作日 + 1 个周六 + 1 个周日,而那一年这几天全国都没人上班。

不是偷懒。中国的放假安排每年由通知确定,补班日还会把周末变成工作日,任何写死在页面里的节假日表都必然过期,而一张过期的表比"没有表"更危险——它会给你一个看起来很精确的错数字。所以工作日数是当作上限给出来的,法定假日和补班要自己扣;需要"哪些天算工作日"的权威口径时,看当年国务院办公厅的放假通知。

三、整月是从哪天算到哪天

两段日期很少正好差整数个月,所以"精确差"是分解式的:先从起点往后数整月,目标月没有同号的日子,就贴在那个月最后一天,剩下的才算零头。于是:

  • 2026-10-01 → 2026-12-31 是 2 个月 30 天(整月数到 12-01,再走 30 天);
  • 2026-01-31 → 2026-02-28 是 1 个月,因为 2 月没有 31 日,日子被收回到 28 日;
  • 2026-01-31 → 2026-03-01 是 1 个月 1 天。

日历天数由日历定死,分解取决于月份边界落在哪,两者看起来"不换算"是正常的。同一条规则也用在日期加减推算上,所以两个页面能互相验算:2026-01-31 加 1 个月再加 1 天是 2026-03-01;如果把这"1 个月 1 天"当成 32 天一次性加上去,得到的是 2026-03-04。工资、房租、利息这类排期要的就是前者,发生回收时结果行会写出来,不会悄悄抹掉。

通知期、保修、预产期、年龄:形状都一样

一个日期、一段时长、一个方向,答案必须落在真实存在的那一天上:

在问什么 输入 结果
提前 30 天提离职 2026-10-04 + 30 天 2026-11-03(星期二)
25 个月的保修到什么时候 2026-03-31 + 25 个月 2028-04-30(4 月没有 31 日,日子贴到月末)
末次月经 2026-01-05,40 周 + 280 天 2026-10-12
1990-10-03 出生,今天多大 到 2026-10-04 36 周岁、出生第 13150 天

顺序是固定的:先加年月(只有这部分取决于落在哪个月),再加周日(纯日历步长),最后加时分(只有它可能把日期推过一天)。日期加减推算的时长框可以直接写句子:2年、18个月、3周、45天、6小时、90分,混着写也行(1个月2周3天),写完下面六个格子自动填好——真正参与计算的是那六个格子,所以每次结果用了多少都看得见。小数不认,写"1周3天"而不是"1.5周”。

年龄这一格单独说:年龄计算的周岁在生日当天进位,1990-10-03 出生的人,2026-10-02 还是 35 岁,10-03 当天起算 36 岁。要说"零几个月几天",它给的是同一个分解口径,不会和周岁打架。

2 月 29 日出生的人

平年没有 2 月 29 日,所以周年落在 2 月 28 日——这是日历类应用常用的口径,用到时结果行会说明。2028-02-29 出生的婴儿,周年依次是 2029-02-28、2030-02-28、2031-02-28,直到 2032-02-29 才回到同号。反过来说,“每四年过一次生日"并不准确,2100 年就不是闰年。

想直接看结果

  • 两段日期之间:日期间隔计算——天数、工作日、折合周与整月、两端星期几,填上时刻还能同时给小时数。
  • 从某天往后推:日期加减推算——到期日、通知期、预产期。
  • 只有一个生日:年龄计算器——周岁、出生至今天数、下次生日倒计时、那天满几岁。

三个页面共用同一套整月与月末回收规则,所以"起点 + 时长 = 终点"和"起点到终点 = 时长"两边能对上。所有计算都在这台设备的浏览器里完成,你填的日期不会离开这台设备。

相关问题

“合同自签订之日起 3 个月"是哪天到期? 签订日同号的那天,没有同号就贴到月末。2026-11-30 签的 3 个月后是 2027-02-28,不是 3 月 2 日。

要的是"还有几天"而不是"隔了几天”? 同一套数字读法不同:末日不算的口径下,今天到明天是 1 天,正好是倒计时要的那个"还剩 1 天”。

孕期为什么有两种算法? 40 周是从末次月经第一天起算的 280 天,从受孕日算则约 38 周。用上面那行例子时先确认起点是哪一天。

跨夏令时会不会算错? 这些数字都按本地零点到零点数日历日,跨过调表的那天仍然是完整的一天,不会出现 23 小时或 25 小时的尾巴。

微信
微信
支付宝
支付宝