这个日期计算器回答规划中反复出现的两个问题:两个日期相隔多少天,以及从某个起点前后若干天是哪一天。它内置了容易在心算中翻车的公历规则——大小月、跨年进位、闰年二月——并返回天、周、月、年以及星期和 ISO 周数。
使用方法
- 选择模式:日期间隔或日期加减。
- 在日期间隔中选择开始和结束日期。结果显示总天数、整周数、整月数和年数。
- 在日期加减中选择基准日期并输入天数。负数表示向前推算;结果显示新日期及其星期。
- 阅读快速信息卡片,查看相关日期的星期、是否周末、是否闰年以及 ISO 周数。
实操示例
示例 1——发票账龄。 开始 2026-01-15,结束 2026-03-10。相差 54 天、7 周、1 个月、0 年。注意 7 周(49 天)和 1 个月相加并不等于 54——它们是同一时间跨度的独立整单位计数,而非可加的组成部分。
示例 2——一周交付窗口。 开始 2025-12-25,结束 2026-01-01,结果恰为 7 天、1 周、0 个月、0 年。这两个日期跨越年末,工具无需特殊输入即可处理。
示例 3——跨越年末相加。 基准 2026-12-30 加 5 天 → 2027-01-04,是星期一,也是当年第一个工作日。反向相减:基准 2026-01-04 加 -5 → 2025-12-30。
示例 4——闰日。 基准 2024-02-28 加 2 → 2024-03-01。在非闰年,同样从 2025-02-28 加 2 得到 2025-03-02,因为 2025 年 2 月只有 28 天。
天、周、月、年分别代表什么
| 字段 | 规则 | 适用场景 |
|---|---|---|
| 天 | 日历天的绝对计数;两端都归零到午夜 | 发票、截止日、孕期与倒计时 |
| 周 | floor(天数 ÷ 7) | 冲刺、租期、通知期 |
| 月 | 完整日历月;当结束日的日号早于开始日的日号时减一 | 合同、订阅、试用期 |
| 年 | floor(完整月数 ÷ 12) | 在职时长、年龄区间、长期规划 |
由于月和年都取截断的整单位,显示的月数可能小于天数给人的直觉。这是有意为之:一份 1 月 15 日起算的「一个月」合同,通常不会在 2 月 14 日到期。
结果背后的闰年规则
当年份能被 4 整除且不能被 100 整除时为闰年,但若同时能被 400 整除则仍是闰年。因此 2024 年和 2000 年是闰年,而 1900 年和 2100 年不是。这有两个影响:闰年二月多出 29 日,会改变任何跨越它的时段天数;在 2 月末附近加减天数,结果也会随年份不同而落在不同日期。计算器自动套用该规则,所以 2024-02-28 加 2 天与 2025-02-28 加 2 天会正确给出不同结果。
值得了解的边界情况
- 此处不开放月末钳制。 日期加减以天为单位,因此从不需要判断「1 月 31 日之后一个月」到底是 2 月 28 日还是 3 月 3 日。若需要这种行为,请改用支持相应月规则的日历应用。
- 相同日期返回零。 开始和结束选同一天,结果为 0 天;月和年计数保持为 0,而不会猜一个正的最小值。
- 周末与闰年标记描述的是某一天,而非整个跨度。 日期间隔模式下快速信息面板报告开始日期,日期加减模式下报告计算结果。
- 时区边界。 工具使用浏览器的本地日期字段。UTC+13 的用户输入的「今天」与仍在 UTC-8 前一天的服务器相比,在自动化比对中可能出现一天差异。
真实场景
通知期。 一份 2026-06-30 到期、需提前 60 天通知的租约,最后送达通知的日期是 2026-05-01——把到期日作为基准减去 60 即可。往回推是更可靠的方向,因为它给出截止日,而不是还剩多久。
孕周。 末次月经为 2026-01-05 时,280 天落在 2026-10-12。计算器报告 40 周,即常规的足月估算;临床医生随后会根据早期超声调整。
冲刺规划。 2026-03-02 开始的两周冲刺在 2026-03-16 结束。由于两端都归零且跨度不含起始瞬间,把开始当天算作第一天的团队应在结果上加一,或把基准设在期望结束日之前 14 天。
合同续约。 2025-08-31 开始的年度订阅在 2026-08-31 续约。工具报告 365 天、12 个月;它不模拟某些合同采用的月末钳制,因此起始日为 29、30 或 31 日时,请核对续约条款。
相关工具
常见问题
在「日期间隔」模式下,两个日期的先后顺序重要吗?
不重要。计算器取绝对值,因此 1 月 5 日到 1 月 20 日与 1 月 20 日到 1 月 5 日都返回 15 天。结果面板会把较早的日期标为开始、较晚的标为结束,所以两种输入都可读。
月份是怎么算的,每个月都按 30 天处理吗?
不是,月份按完整的日历月计算,而不是 30 天一块。1 月 15 日到 3 月 10 日是 1 个月,因为工具向前推进一个完整月到 2 月 15 日后,发现剩余 23 天不足以再凑满一个月。旁边显示的天数才是真实天数:该例为 54 天。
只能加减天数,还是也能加减月和年?
「日期加减」模式只接受整数天。输入负数即为减,例如 -30 表示把基准日期往前推 30 天。底层库带有月、年辅助函数,但界面未开放。
为什么 ISO 周数和我表格软件里的对不上?
本工具采用 ISO 8601 规则:周一为一周开始,且包含 1 月 4 日的那一周为第 1 周。表格软件常默认周日开始的美国式周制,可能整体差一位。复制前请确认报表需要哪种约定。
比较两个日期时用的是当天什么时间?
两个日期都会先归零到本地午夜再相减,因此忽略时刻。这让天数在大多数时区和夏令时切换下保持稳定,不过在相差极大的时区里,临近午夜输入的日期仍可能相差一天。
闰年和 2 月 29 日是怎么处理的?
闰年遵循公历判定:能被 4 整除,整百年除外,除非能被 400 整除。偏移模式使用原生日期运算,所以对 2024-02-28 加 2 天会正确落到 2024-03-01,快速信息面板也会标注所选年份是否为闰年。
由 HandyTools Hub 团队审校 · 最后更新