日期差计算器

计算两个日期之间精确相差多少年、月、日,并显示总天数、总周数和总小时数。

计算方式

公式

totalDays=Δt86400000\text{totalDays} = \frac{\Delta t}{86400000}

totalHours=totalDays×24\text{totalHours} = \text{totalDays} \times 24

变量、符号和单位

Δt\Delta t

较早日期和较晚日期之间的毫秒数(UTC)

totalDays\text{totalDays}

两个日期之间的完整日历天数

totalHours\text{totalHours}

两个日期之间的总小时数

8640000086400000

一天的毫秒数(24 × 60 × 60 × 1000)
计算方法说明

输入两个日期。计算器判断哪个日期更早,然后把差值拆成年、月、日,也计算两个日期之间的总天数、总周数和总小时数。

按日历拆分两个日期之间的跨度:

  1. 先排序,让较早日期在前;输入顺序不影响结果。
  2. 暂算年、月、日差:years=laterYearearlierYear\text{years} = \text{laterYear} - \text{earlierYear}months=laterMonthearlierMonth\text{months} = \text{laterMonth} - \text{earlierMonth}days=laterDayearlierDay\text{days} = \text{laterDay} - \text{earlierDay}
  3. 如果天数为负,说明较晚日期还没到较早日期对应的月内日号,就借用上一个月的天数,并从月份数减 1。
  4. 如果月份数随后为负,说明较晚月份在同一年内仍早于较早月份,就借用 12 个月,并从年数减 1。
  5. 直接从时间戳计算总经过时间:totalDays=Δt/86400000\text{totalDays} = \Delta t / 86400000totalWeeks=totalDays/7\text{totalWeeks} = \text{totalDays} / 7totalHours=totalDays×24\text{totalHours} = \text{totalDays} \times 24。日期按 UTC 午夜解析,以避免跨夏令时产生一天偏差。

常见问题

日期差怎样计算?
计算器先确定较早和较晚的日期,然后按日历方式数完整年、剩余完整月和剩余天。总天数则单独按两个日期的绝对差计算。
输入日期的顺序重要吗?
不重要。计算器会自动判断哪个日期较早,并返回正的时间差;两个日期可以任意顺序输入。
会处理闰年吗?
会。计算使用真实日历日期,因此 366 天的闰年会被正确计入,闰年二月有 29 天。
日期应该用什么格式?
使用 ISO 格式 YYYY-MM-DD,例如 2026-04-07 表示 2026 年 4 月 7 日。这样在任何界面语言下都能保持解析一致且无歧义。
可以用它计算工作日吗?
这个计算器会数每一个日历日。若要按跳过周末或自定义排除日期来数工作日,请使用工作日计算器。

相关计算器

所有计算器

准备开始计算?

免费计算器。