核心答案:计算两个日期相差多少天,逐月累加各月天数即可。例:2026-01-15 到 2026-04-20:1 月剩 16 天(31−15)+ 2 月 28 + 3 月 31 + 4 月 20 = 95 天。"相差天数"不含起始日;若需"含头含尾"的天数则 +1。
日期差的基本算法
- 起始月剩余天数 = 当月总天数 − 起始日
- 中间完整月份天数累加
- 加上结束月的日期数
约定:相差天数 = 结束日 − 起始日(不含起始日);合同、利息场景常需"算头算尾"则 +1。
月份天数与闰年
| 月份 | 天数 | 月份 | 天数 |
|---|---|---|---|
| 1 月 | 31 | 7 月 | 31 |
| 2 月 | 28(闰年 29) | 8 月 | 31 |
| 3 月 | 31 | 9 月 | 30 |
| 4 月 | 30 | 10 月 | 31 |
| 5 月 | 31 | 11 月 | 30 |
| 6 月 | 30 | 12 月 | 31 |
闰年规则:能被 4 整除但不能被 100 整除,或能被 400 整除。2024、2028 是闰年;2100 不是;2000 是。
跨月实例
2026-03-10 到 2026-06-05(2026 非闰年):
- 3 月剩:31 − 10 = 21
- 4 月:30,5 月:31
- 6 月:5
- 合计:21+30+31+5 = 87 天
跨年实例
2025-11-20 到 2026-03-01:
- 2025 年 11 月剩:30 − 20 = 10
- 12 月:31
- 2026 年 1 月 31 + 2 月 28(非闰年)+ 3 月 1
- 合计:10+31+31+28+1 = 101 天
工作日怎么估算
- 粗略:总天数 × 5/7(87 天 ≈ 62 个工作日)
- 精确:逐周扣除周末,再扣法定节假日
- 中国法定节假日约 11–13 天/年(调休后),年休假另计
- 合同中的"N 个工作日"务必确认是否含调休周末
常见误区
- 「日期差含不含当天无所谓」:差 1 天在计息、违约金场景就是钱。银行计息通常"算头不算尾"(存入日计息、取出日不计)。
- 「每月都按 30 天算」:月均 30.42 天只适用于年化估算。精确计算必须逐月按实际天数,2 月的 28/29 天差异会累积误差。
- 「365 天就是一年」:跨年计算要注意是否包含 2 月 29 日。涉及 2024/2028 等闰年时,"一年期"可能是 366 天。