两个日期相差多少天?三种口径算清(含头含尾、工作日)
一、为什么同一个区间能算出两个天数
「9 月 25 日到 10 月 7 日一共几天?」答案是 12 天还是 13 天,取决于一个约定:起始日算不算在内。
- 不含起始日(间隔口径):从 9/25 到 10/7 是 12 天。回答的是「过了多久」,日程软件、倒计时都用它。
- 含头含尾(天数口径):把 9/25 和 10/7 都算进去,是 13 天。回答的是「占用几天」,租房、住宿、请假、合同期限按这种算法——「住 25 号到 27 号」是三晚三天。
| 口径 | 9/25 → 10/7 | 回答的问题 | 常用场景 |
|---|---|---|---|
| 不含起始日 | 12 天 | 过了多久 | 倒计时、日程间隔 |
| 含头含尾 | 13 天 | 占用几天 | 租房、请假、合同期限 |
| 只算工作日 | 3 天(2026 年) | 实际要上几天班 | 工期、审批时限 |
两者永远差 1 天。用之前先想清楚要回答的是「过了多久」还是「占用几天」。
二、工作日:只排周末,还是按国内放假安排
这又是两种口径,混用会算错:
- 只排除周六周日:通用口径,跨国项目、外企排期常用。
- 按国内法定节假日与调休:周六可能要上班、周三可能是假期,国内工期、政府审批时限必须用这个。
举个例子:2026 年 9 月 25 日到 10 月 7 日,看起来横跨 13 天,但中秋(9/25–9/27)和国庆(10/1–10/7)都在放假,中间只有 9 月 28、29、30 三天是工作日。
→ 只排周末用 日期计算器
→ 按国内放假安排(内置 2024—2026 年官方数据)用 工作日计算器
三、手算步骤
以「2026-09-25 到 2026-10-07」为例:
- 拆月:9 月按实际天数算,9/25 到 9/30 是 5 天
- 加整段:10/1 到 10/7 是 7 天
- 合计:5 + 7 = 12 天(不含起始日口径)
- 含头含尾:12 + 1 = 13 天
- 工作日:9/28、9/29、9/30 共 3 天
天数用 UTC 毫秒差除以 86400000 计算,可以避开夏令时造成的「差一天」问题。这也解释了为什么跨时区、跨夏令时切换日算天数时,自己用 Excel 反复核对还是容易出错。
四、日期推算:N 天后是哪天
反过来的需求同样高频——合同签署后 30 个工作日内交付、请假之后哪天回来上班。
- 按自然日推算:2026-09-16 + 30 天 = 2026-10-16
- 按工作日推算:从 9/16 起往后数 30 个工作日,要跳过中秋 3 天、国庆 7 天,还要把 9/20(周日)和 10/10(周六)两个调休补班日算成上班日
第二种只有内置放假数据的工具才算得准,手翻日历极易漏掉调休。
五、直接算
→ 日期计算器:日期间隔、含头含尾、工作日、推算 N 天后是哪天
→ 工作日计算器:按国内放假安排统计工作日、加 N 个工作日
→ 年龄计算器:精确到「几岁几个月零几天」,含虚岁与农历生日倒计时
→ 恋爱天数计算器:纪念日、整百天、周年倒计时
本站文章为个人使用经验的原创整理,除已注明来源的引用外均为本人撰写。文中涉及的软件名称、商标、截图等归各自权利人所有,引用仅用于说明与交流。如认为本站内容侵犯了你的合法权益,请通过「关于本站」页面的联系方式告知,核实后将及时更正或删除。