两个日期相差多少天?三种口径算清(含头含尾、工作日)

一、为什么同一个区间能算出两个天数

「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」为例:

  1. 拆月:9 月按实际天数算,9/25 到 9/30 是 5 天
  2. 加整段:10/1 到 10/7 是 7 天
  3. 合计:5 + 7 = 12 天(不含起始日口径)
  4. 含头含尾:12 + 1 = 13 天
  5. 工作日: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 个工作日

年龄计算器:精确到「几岁几个月零几天」,含虚岁与农历生日倒计时

恋爱天数计算器:纪念日、整百天、周年倒计时

本站文章为个人使用经验的原创整理,除已注明来源的引用外均为本人撰写。文中涉及的软件名称、商标、截图等归各自权利人所有,引用仅用于说明与交流。如认为本站内容侵犯了你的合法权益,请通过「关于本站」页面的联系方式告知,核实后将及时更正或删除。