日期差值计算器
比较实际时长、日历日期与周一至周五计数
完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。
工具说明
在页面展示的浏览器时区中比较两个真实公历日期时间。实际时长是两个时刻之间的绝对差,总天数以固定 24 小时计,方向说明哪个输入较晚。墙上日历差独立于夏令时比较钟面字段:先加整年,再加整月,将月末日期截到目标月份最后一天,再统计剩余公历天数与钟面时长。因此春季跳时附近两个零点可以相差一个日历日,但只经过 23 小时。日期跨度使用公历日期,不用零点时间戳除以 24 小时。包含结束日选项始终包含时间顺序上较晚的日期,反向输入也一样。工作日只排除周六和周日,不扣法定节假日,不包含工作班次或计费规则。无效日期与时区跳变中缺失或重复的本地时刻会被拒绝。支持 0001–9999 年。输入与设置会保存为浏览器本地草稿,清空可删除。
失败门诊(高频踩坑)
把 UTC 钟面文本粘贴到本地选择器会改变含义
原因:选择器没有偏移字段,始终使用浏览器时区。
修复:先把时刻转换成页面展示的浏览器时区,或用时间戳工具比较明确的时刻。
周一至周五计数不是工作日历服务
原因:只排除周末,缺少假期与组织专属规则。
修复:工资、法定截止日期或 SLA 使用权威工作日历。
场景配方
区分经过时长与公历日
目标:跨夏令时也保留正确的日期数量。
- 浏览器时区为 America/New_York 时,输入 2026-03-08T00:00 与 2026-03-09T00:00。
- 启用包含结束日并计算。
结果:实际 23 小时,公历差 1 天,日期跨度 2,周一至周五计数 1(星期一)。浏览器时区不同时,实际时长可能不同。
检查月末截断约定
目标:理解月末跨度如何拆解。
- 输入 2024-01-31T12:00 与 2024-02-29T12:00。
- 计算并对照墙上日历差与经过时长总量。
结果:墙上日历差为一个月,这是计算约定,不是计费规则。
生产可用片段
计算示例
text
纽约 2026-03-08 00:00 → 2026-03-09 00:00
经过23小时 · 公历差1天 · 含结束日2个日期 · 工作日1常见问题
为什么一个日历日可能只有 23 小时?
夏令时可能使时钟前跳。America/New_York 的 2026-03-08 00:00 到 3 月 9 日 00:00 相差一个公历日,但只经过 23 小时;包含结束日时覆盖两个日期。
月末如何计算?
先增加整年,再增加整月,日期截到目标月份最后一天。2024 年 1 月 31 日到 2 月 29 日算一个月;2024 年 2 月 29 日到 2025 年 2 月 28 日算一年,这是明确的计算约定。
工作日会扣除法定假期吗?
不会,只统计周一至周五。法定节假日、地区工作日历、轮班及法律或计费规则需要其他数据来源。
反向输入时包含结束日是什么意思?
日期与工作日计数先按时间排序,包含结束日表示包含较晚的公历日期,不包含时排除该日。实际时长保持绝对值,方向仍会显示。
哪些输入会被拒绝或保存?
无效公历日期、0001–9999 年之外的日期以及时钟跳变中缺失或重复的本地时间会被拒绝。两个输入均使用页面展示的浏览器时区。输入和设置保存在本地,清空可删除草稿。
继续浏览