Skip to content
DocsAll
教程

时间戳转换:Unix/ISO/本地时间互转详解

Timi Tian · 发布于 2026年5月8日 · 更新于 2026年7月12日
时间戳Unix时间日期转换

什么是时间戳

时间戳是表示某一时刻的数值。最常见的是 Unix 时间戳——从 1970 年 1 月 1 日 00:00:00 UTC 起经过的秒数(或毫秒数)。比如 1720780800 对应 2024-07-12 12:00:00 UTC。时间戳在编程、日志、数据库、API 中无处不在。

为什么需要转换

  • 看日志:日志里全是时间戳,人眼看不懂,要转成可读时间
  • 调试 API:接口返回时间戳,要确认对不对
  • 跨时区:UTC 时间戳转本地时间显示
  • 数据库:存的是时间戳,展示要格式化

常见时间格式

Unix 时间戳

  • 秒级:10 位数字(如 1720780800)
  • 毫秒级:13 位数字(如 1720780800000,JS/Java 常用)

ISO 8601

形如 2024-07-12T12:00:00Z,国际标准格式,API 常用。结尾 Z 表示 UTC。

本地时间

如 2024-07-12 20:00:00,带时区偏移,因地区而异。

DocsAll 时间戳转换工具

时间戳转换工具 一键互转:

  1. 打开 时间戳工具
  2. 输入时间戳 → 自动显示可读时间;或输入时间 → 得到时间戳
  3. 支持秒/毫秒切换
  4. 复制结果

转换示例

时间戳(秒) UTC 时间 北京时间(UTC+8)
0 1970-01-01 00:00 1970-01-01 08:00
1720780800 2024-07-12 12:00 2024-07-12 20:00

常见坑

秒 vs 毫秒

JS 的 Date.now() 返回毫秒(13 位),Python 的 time.time() 返回秒(10 位)。混用会差 1000 倍,转换前先确认单位。

时区

同一时间戳在不同时区显示不同。北京时间比 UTC 早 8 小时,1720780800 在 UTC 是中午 12 点,在北京是晚上 8 点。后端存 UTC,前端按用户时区显示是常见做法。

2038 年问题

32 位 Unix 时间戳在 2038-01-19 会溢出。现代系统多用 64 位,不受影响,但老旧嵌入式系统需注意。

负时间戳

1970 年之前的时间用负数表示,部分工具不支持,转换 1969 年以前的日期要注意。

实用建议

  • 后端统一存 UTC 时间戳,前端按需转本地时区
  • 日志分析时,用工具批量把时间戳转可读时间,比心算快百倍
  • 调试接口时,先确认返回的是秒还是毫秒

时间戳转换是开发日常高频操作,把工具存进书签,随用随开。

T
Timi Tian 创始人 / 全栈工程师

DocsAll 创始人,10 年全栈开发经验,专注浏览器端文档处理技术与隐私保护架构。前新加坡科技公司技术负责人。