跳到主要内容
FreeOnlineTools Go
简体中文
如何

如何将 Unix 时间戳转换为可读日期

作者:FreeOnlineTools Team · 更新日期:2026-08-28

快速解答

Unix 时间戳 = 自 1970-01-01 00:00:00 UTC 以来的秒数(或毫秒)。使用 JavaScript 中的 new Date(timestamp * 1000)(秒)或 new Date(timestamp)(毫秒)转换为日期。使用 Math.floor(date.getTime() / 1000) 将日期转换回来。使用我们的时间戳转换器可以在浏览器中立即完成这两项操作。

介绍

Unix 时间戳(也称为纪元时间或 POSIX 时间)是自 1970-01-01 00:00:00 UTC(Unix 纪元)以来经过的秒数,不包括闰秒。它是计算中时间的通用语言,因为它是与时区无关且可简单排序的单个整数。大多数系统都使用秒; JavaScript 和许多数据库使用毫秒。

步步

  1. 了解秒与毫秒

    大多数后端系统和 APIs 使用秒(10 位时间戳直到 2286)。 JavaScript 的 Date 和 Java 的 Instant 使用毫秒(13 位数字)。始终确认 API 需要哪个单位 - 混合它们会将日期移动 1000 倍(偏差约 31 年)。

  2. 将时间戳转换为可读日期

    将时间戳粘贴到时间戳转换器中。它按长度(10 与 13 位)检测秒与毫秒,并以 UTC 和您当地的时区显示日期。在代码中: new Date(1700000000 * 1000).toISOString() 返回 '2023-11-14T22:13:20.000Z'。

  3. 将日期转换为时间戳

    在转换器中输入日期和时间;它返回 Unix 时间戳。在代码中: Math.floor(new Date('2026-08-28T12:00:00Z').getTime() / 1000) 返回纪元秒。始终指定时区(Z 或偏移量)以避免当地时间歧义。

  4. 正确处理时区

    Unix 时间戳始终是 UTC — 它们没有时区。仅在表示层转换为本地显示。切勿将本地时间存储为时间戳;存储 UTC 并在显示时进行转换。将 IANA 时区名称 (America/New_York) 与 Intl.DateTimeFormat 结合使用以实现正确的 DST 处理。

  5. 计算日期之间的差异

    减去两个时间戳即可得到以秒(或毫秒)为单位的差异。分钟除以 60,小时除以 3600,天数除以 86400。使用我们的日期差异工具来计算适合人类的范围,或使用年龄计算器来计算基于出生日期的年龄。

示例

Unix时代

输入: 0 (seconds)

输出: 1970-01-01 00:00:00 世界标准时间

纪元后十亿秒

输入: 1000000000 (seconds)

输出: 2001-09-09 01:46:40 世界标准时间

UTC 时间 2026 年初

输入: 2026-01-01T00:00:00Z

输出: 1767225600(秒)/1767225600000(毫秒)

两个日期之间的差异

输入: 1767225600 - 1700000000

输出: 67225600 seconds = 778.08 days ≥2 years 31 days

常见问题

  • 秒与毫秒的混淆:读作毫秒的 10 位时间戳给出了 1970 年的日期;读取为秒的 13 位时间戳会溢出 32 位 int。通过位数检测单位或将其明确记录在 API 中。
  • 将本地时间存储为时间戳:时间戳为 UTC。如果您在设置为 UTC-5 的浏览器中计算 Date.now() 并将结果视为本地结果,则 DST 转换将使您的数据每年两次移动一个小时。
  • 2038-01-19 03:14:07 UTC (Y2038) 发生 32 位溢出:使用带符号的 32 位秒时间戳的系统无法表示此点之后的日期。在新系统中使用 64 位或毫秒时间戳。
  • 忽略闰秒:Unix 时间戳跳过闰秒,因此两个时间戳之间的差异不等于经过的 SI 秒数。大多数应用程序可以忽略这一点;高精度的天文学和金融则做不到。

提示

  • 始终以 UTC 格式存储和传输时间戳;仅在显示层使用 Intl.DateTimeFormat 和 IANA 时区转换为本地时间。
  • 使用 ISO 8601 字符串(例如 2026-08-28T12:00:00Z)作为人类可读的 APIs 和时间戳进行存储 - ISO 字符串明确携带其时区并且明确。
  • 比较时间戳时,双方使用相同的单位(秒或毫秒)——单位不匹配是最常见的日期错误之一。
  • 在调试期间使用我们的时间戳转换器对 API 响应进行健全性检查 - 它显示 UTC 和本地时间,以便您可以立即发现时区错误。

相关工具

相关指南

参考