时间工具 · 约 5 分钟阅读

Unix时间戳:秒与毫秒的区别以及UTC时间详解

Unix 时间戳标识一个瞬间;其单位和显示时区是独立的选择。如果转换后的日期看起来不对,先检查是秒还是毫秒,再检查是 UTC 时间还是本地时间。

更新于 2026 年 10 月 24 日 · ToolKnit

使用时间戳转换器粘贴数值、选择单位,并比较 UTC、ISO 8601 和本地时间。工具页负责转换,本指南说明如何排查不正确的结果。转换在浏览器中完成。

秒和毫秒:同一瞬间,不同数值

Unix 时间戳从 1970-01-01 00:00:00 UTC 时间起算,以秒为单位,不包含闰秒。JavaScript 的 Date.now() 返回自同一纪元起的毫秒数。将秒数乘以 1,000 可得到毫秒数。一个现代的 10 位数值通常表示秒,一个 13 位数值通常表示毫秒,但位数只是提示:旧日期、未来日期以及前导零会打破这一规则。

例如,1715356800 秒和 1715356800000 毫秒都表示 2024-05-10T16:00:00.000Z。末尾的 Z 表示 UTC 时间。本地显示中的时区偏移会改变表示形式,但不会改变该瞬间本身。

可复现的示例

输入每个数值时,请明确标注其单位
输入单位ISO 8601(UTC)
0秒1970-01-01T00:00:00.000Z
-1秒1969-12-31T23:59:59.000Z
1000000000秒2001-09-09T01:46:40.000Z
1000000000毫秒1970-01-12T13:46:40.000Z
1.234秒1970-01-01T00:00:01.234Z
2147483647秒2038-01-19T03:14:07.000Z

包含十亿数值的两行说明,自动猜测无法确定原始单位。ToolKnit 的自动模式将绝对值至少一万亿的数值视为毫秒,更小的视为秒。知道 API 或数据库格式时,应明确选择单位。

将日历日期回退转换,不进行时间偏移

  1. 在日期 → 时间戳中,输入日期前请选择 UTC 或设备本地时间。
  2. 输入日期和时间。时间为空表示所选时区的午夜。
  3. 复制秒或毫秒值以匹配接收系统。
  4. 将该结果粘贴回时间戳 → 日期,明确指定单位并进行对比,查看 ISO 值。

进行 UTC 检查时,输入 1970-01-01 和 00:00:00:结果必须为零。同一墙钟时间在非 UTC 本地时区中对应不同的时间点。'现在'按钮会填充所选时区的字段,其时间来自你的设备,而非服务器时间服务。

夏令时导致的时间间隔缺失和重复本地时间

本地时钟可能会跳过某个时间点或重复显示。当设备设置为 America/New_York 时,2024-03-10 02:30 未发生,被拒绝。在 2024-11-03 上,01:30 发生了两次;JavaScript 选择较早的一次,即 05:30 UTC。使用已知的 UTC 时间点来区分重复时间。本工具不提供任意的 IANA 时区选择器。若需比较城市当前时间,请使用 世界时钟 。

转换器为何拒绝某个值

对于 JSON 日志,首先使用 JSON 格式化器 确定具体字段,然后仅转换该字段的数值。使用 文本差异比较工具 比较两个日志片段;它不会解析其中的时间。

年份 2038 问题会影响本工具吗?

有符号的 32 位 Unix 秒在 2038-01-19 03:14:07 UTC 时达到最大值。本浏览器转换器不限于该 32 位整数,但接收你结果的系统可能受限。此处转换成功并不能证明旧数据库或嵌入式设备能够存储该值。

相对时间是什么意思?

相对时间将输入与转换时的设备时钟比较。月份和年份标签是近似值,不是日历运算。Unix 时间与 JavaScript Date 不将闰秒表示为独立时刻,输入也不接受秒字段为 60。若要测量经过时间,可使用秒表。

准备检查一个值了吗? 打开时间戳转换器,并从一个明确的单位和UTC对比开始。