ToolsWeb LogoToolsWeb
开发者4 分钟

时间戳与时区转换避坑指南:UNIX Epoch、UTC、ISO 8601 与前端调试最佳实践

2026-07-24

什么是 UNIX 时间戳?

UNIX 时间戳 (Unix Epoch) 是指从格林威治时间(UTC)1970 年 1 月 1 日 00:00:00 起至现在的总秒数或毫秒数。它是一个与地理位置和时区完全无关的绝对物理时间量。

开发中最常见的 3 大时间戳陷阱

#### 1. 10 位(秒)与 13 位(毫秒)混淆

  • 后端语言(如 Python、PHP、Go)默认通常返回 10 位秒级时间戳(如 1723872000)。
  • JavaScript (Date.now()) 原生使用 13 位毫秒级时间戳(如 1723872000000)。
  • 常见 Bug:如果直接把 10 位时间戳传给 new Date(timestamp),解析出的年份会变成 1970 年!必须先乘以 1000。

#### 2. 本地时间与 UTC 时间错位

在前后端交互中,若直接传输格式化字符串(如 2026-08-17 12:00:00),不同时区的用户解析出的时间将出现 8 小时以上的偏差。

  • 推荐标准:前后端接口应统一传输 ISO 8601 标准 UTC 字符串(如 2026-08-17T04:00:00.000Z)或纯数值时间戳。

使用 FuaHub 时间戳转换工具

在排查线上日志与数据库记录时,FuaHub 时间戳转换工具 支持秒/毫秒自动识别、本地时间与 UTC 实时双向互转,无需手写命令行脚本。