将 Unix 时间戳转换为可读日期
把自纪元起的秒或毫秒值转为人类日期,并厘清两个经典困惑:单位与时区。
- 1 时间戳转换器 →
粘贴数值。工具并排显示 UTC 渲染和你的本地时区渲染,外加反向转换。
- 2
先查单位:10 位值(约 17 亿)是秒;13 位值(约 1.7 万亿)是毫秒。把毫秒当秒输入会落到 1970 年 1 月——最常见的错误答案。16 位是微秒,19 位是纳秒(Java 的 Instant、Go 的纳秒时间)。
- 3
时区语义:Unix 时间戳与时区无关——它在各地是同一时刻。日期字符串只因渲染时区不同而异,因此转换前务必确认 API 期望或返回的是 UTC(通常是),并在数据库中存储时间戳而非格式化日期。
常见问题
- 为什么我转换的时间与日志差几小时?
- 其中一边渲染的是本地时间而你期望 UTC。在工具中对比两种渲染并确认 API 文档所述时区。
- 2038 年后会怎样?
- 32 位有符号秒计数器在 2038 年 1 月溢出('Y2038')。64 位系统和毫秒计数器不受影响——新代码优先用 64 位时间类型。