Unix timestamp 转换器
把 log timestamps 转成人类能读的时间,再把日期转回秒或毫秒,不用心算。
当前 Unix timestamp
0
等待输入...
Timestamp 基础
什么是 Unix timestamp?
Unix timestamp 以 1970 年 1 月 1 日 00:00:00 UTC 为起点计时。这个数字本身不受时区影响,但一旦显示给人看,log、控制台、database 和浏览器都可能用不同本地时区呈现。
常见单位
| 单位 | 典型长度 | 范例 |
|---|---|---|
| 秒 | 10 位数 | 1716300000 |
| 毫秒 | 13 位数 | 1716300000000 |
时间概念
什么是 Y2038 问题?
使用 signed 32-bit integers 保存 Unix timestamps 的系统,会在 2038 年 1 月溢出。现代 64-bit 系统已避开这个限制。
UTC vs local time
能用 UTC 保存和比较 timestamp 时就这么做。只在产品边缘,例如 UI 显示、报表或导出时,再转成本地时间。
ISO 8601
像 2024-05-21T14:30:00Z 这样可读的 timestamp 格式。它能带时区信息,因此广泛用于 API、数据库、日志和分布式系统。
Seconds vs milliseconds
10 位数通常是秒。13 位数通常是毫秒。两者混用是最常见的 timestamp bug 之一。
常见换算参考
| Duration | Seconds | Milliseconds |
|---|---|---|
| 1 minute | 60 | 60,000 |
| 1 hour | 3,600 | 3,600,000 |
| 1 day | 86,400 | 86,400,000 |
| 1 year (365 days) | 31,536,000 | 31,536,000,000 |