ToolConvoyToolConvoyv2.6
DEV

Timestamp Diff — 计算两个日期或时间戳之间的时长

精确计算两个日期或 Unix 时间戳之间的时长。输出秒、分钟、小时、天、周、月和年 —— 全部在浏览器中完成。

● 本地运行 · 在您的标签页中生成页面加载以来工具发出的网络请求:0 次

计算两个时间点之间的时长,是最常见的日期操作之一,也是最容易出错的之一。1 月 31 日到 3 月 1 日之间的天数取决于这一年是不是闰年(相差一天)。DST 切换当天的凌晨 1:30 到 3:30 之间的小时数,可能是 1 小时,也可能是 3 小时,取决于时钟调整的方向。表达成「3 个月」的时长是有歧义的 —— 对于 2 月、对于 30 天和 31 天的月份、对于两端不完整的月份,含义各不相同。Timestamp Diff 工具能正确处理日历算术,并把结果分解成所有有意义的单位:总秒数、分钟和剩余秒数、小时和剩余分钟数,一直分解到年。

工具接受浏览器内置解析器能理解的任何日期格式 —— 带或不带时区偏移的 ISO 8601、用于邮件头的 RFC 2822、秒或毫秒精度的 Unix 时间戳,以及用户本地环境下的自然语言日期。输出包含 ISO 8601 时长字符串(P3DT6H30M 表示 3 天 6 小时 30 分钟),这是 XML Schema、JSON Schema 以及 Java 的 java.time.Duration 类中表达时长的标准格式。本网站上配套的 Epoch-to-Date 和 Date-to-Epoch 工具负责时间戳与人类可读日期之间的转换,因此完整的日期处理流程 —— 转换、比较、计算时长 —— 一站式覆盖。

广告

使用方法

  1. 输入两个时间戳

    输入两个日期或 Unix 时间戳。输入框接受 ISO 8601 日期(2026-06-15T14:30:00Z)、秒或毫秒精度的 Unix 时间戳,以及「June 15, 2026 2:30 PM」之类的自然格式。

  2. 选择输出单位

    选择主要输出单位 —— 秒、分钟、小时、天、周、月或年。详细分解会同时展示所有单位:差值用每个单位及其余数表示。

  3. 复制结果

    可以把时长复制为单个数字、可读的分解形式,或 ISO 8601 时长字符串(P3DT6H30M)。ISO 格式兼容 XML Schema、JSON Schema 以及 Java 的 Duration 类。

常见问题

会处理闰年和夏令时吗?

以天或更大单位进行的计算使用日历感知的算术,会考虑闰年(2 月 29 日)和不同长度的月份。以秒或更小单位进行的计算则是绝对的挂钟差值。DST 切换不做处理 —— 如果时间戳跨越了 DST 边界,挂钟差与经过时间差可能不一致。

Unix 秒和 Unix 毫秒有什么区别?

Unix 秒时间戳是 10 位数字(例如 1718400000)。Unix 毫秒时间戳是 13 位数字(例如 1718400000000)。工具会根据数字大小自动识别并转换两种格式。粘贴 10 位数字时按秒处理。

能计算某个日期到「现在」的差值吗?

可以 —— 把其中一个字段留空(或点击「now」)即可使用浏览器时区下的当前日期和时间。常用于根据出生日期计算年龄、根据入职日期计算司龄,或计算距离某个截止时间的剩余时间。

计算使用的时区是什么?

对带 Z 后缀或不带时区偏移的 ISO 8601 输入,默认使用 UTC。对不带时区的本地日期和时间,使用浏览器的本地时区。带显式偏移(+05:30、-08:00)的时间戳会按该偏移处理。

限制说明

  • 不支持循环排期计算工具计算的是两个固定点之间的单次时长。对于循环排期(每周一、每两周),请使用 cron 表达式解析器或专门的排期工具。
  • 不识别工作日输出是日历天数,不是工作日。要做工作日计算(排除周末和节假日),需要手动加上节假日排除规则,或使用专用库。
  • 月和年的差值是近似值1 月 31 日到 4 月 30 日之间的「3 个月」与 1 月 30 日到 4 月 30 日之间的「3 个月」并不相同。基于月的输出会四舍五入到最接近的整月;天和月的分解会展示精确的余数。

平台说明

macOS
macOS 自带的「计算器」App 有日期差模式。浏览器工具在此之上新增了所有单位同时展示的分解形式,以及便于程序化使用的 ISO 8601 时长输出。
Linux
来自 `dateutils` 的 `datediff` 命令可以计算日期差。浏览器工具在此之上新增了时间戳格式的自动识别,以及一个视图里所有单位的分解。
Web
完全在浏览器中运行。时间戳在本地处理 —— 不会向服务器发送任何日期。适合用来为内部项目时间线计算时长。
广告
广告