什么是 Unix 时间戳
在计算机系统中,时间通常不是用"2026年6月27日 15:30:00"这样的字符串来存储的,而是用一个数字——Unix 时间戳(Unix Timestamp)。它表示从 1970 年 1 月 1 日 00:00:00 UTC(称为 Unix 纪元 / Unix Epoch)起经过的秒数。
北京时间 2026-06-27 14:30:00
→ Unix 时间戳(秒):1783636200
→ Unix 时间戳(毫秒):1783636200000
北京时间 1970-01-01 08:00:00
→ Unix 时间戳:0(这就是"纪元")
为什么是 1970 年?这是 Unix 操作系统诞生年代的遗留设计,现在已经成了所有编程语言和数据库的通用标准。时间戳的好处是:它是一个简单数字,不区分时区,排序和计算(如"3 小时后"就是 +10800 秒)极其高效。
在线转换时间戳的步骤
- 打开 时间戳转换器,页面自动显示当前的最新时间戳(实时更新)。
- 如需将时间戳转日期:在「时间戳」输入框中粘贴数字(10 位秒级或 13 位毫秒级均可),自动转换显示对应日期。
- 如需将日期转时间戳:在「日期时间」选择器中设定目标时间,工具自动算出对应的时间戳。
- 点击「复制」按钮,一键复制时间戳或日期结果。
所有转换运算在浏览器本地完成,无需联网,也不用担心数据泄露。
核心功能一览
秒 / 毫秒自动识别
支持 10 位秒级和 13 位毫秒级时间戳,自动判断并显示对应日期。
实时当前时间戳
页面实时更新当前 Unix 时间戳,精确到秒或毫秒,方便临时取值。
双向转换
时间戳 → 可读日期和日期 → 时间戳同时支持,切换方向无需刷新。
多时区显示
可切换 UTC 和本地时区显示,方便国际协作中的时间对齐。
秒 vs 毫秒:最常踩的坑
| 维度 | 秒级时间戳 | 毫秒级时间戳 |
|---|---|---|
| 位数 | 10 位 | 13 位 |
| 精度 | 1 秒 | 0.001 秒 |
| 常见来源 | Python time.time()、PHP time()、MySQL UNIX_TIMESTAMP() | JavaScript Date.now()、Java System.currentTimeMillis() |
| 互相转换 | × 1000 = 毫秒 | ÷ 1000 = 秒(舍弃毫秒部分) |
| 2026 年典型值 | 约 1783636200 | 约 1783636200000 |
常见应用场景
- 接口联调:后端返回的时间戳(如 JWT 的 exp 字段、数据库的 created_at),粘贴到工具中快速查看实际日期。
- 日志分析:日志中的时间戳转换为可读时间,定位问题发生的具体时间点。
- 设置时间参数:前端在调用接口时需传时间戳参数,用日期选择器确定目标时间后复制对应时间戳。
- 排查时间 bug:当系统显示的时间与预期不符,转换时间戳确认是前端显示问题还是后端存错了值。
- 跨时区协作:用 UTC 时间戳沟通时间,确保全球团队成员引用的是同一时刻。
常见问题 FAQ
为什么我的时间戳转换后是 1970 年?
最常见的原因是秒和毫秒搞混了。如果你有一个 13 位的毫秒时间戳(如 1783636200000)但工具按秒来解析,它会把数字当成天文数字处理——实际应除以 1000 后再转换。反之,10 位秒级时间戳被当成毫秒来解析,数值太小就会落在 1970 年前后。
时间戳在线转换安全吗?会上传数据吗?
速工具 的时间戳转换完全在浏览器本地运行,所有计算基于 JavaScript 的 Date 对象在你电脑上完成。时间戳和日期都不会被发送到任何服务器,数据完全安全。
不同时区的时间戳是一样的吗?
是的。时间戳始终基于 UTC(协调世界时),无论你在地球哪个位置,同一时刻的时间戳完全相同。区别只在于把时间戳显示为可读日期时选择哪个时区——北京时间(UTC+8)比 UTC 快 8 小时,所以同一个时间戳在北京显示为 14:30 而 UTC 显示为 06:30。
怎么快速判断时间戳是秒还是毫秒?
看位数:2026 年前后,秒级约 10 位(~1.78×10⁹),毫秒级约 13 位(~1.78×10¹²)。如果转换后日期在 1970 年前后 → 很可能把毫秒当秒了;如果日期在五万年后 → 很可能把秒当毫秒了。速工具 的工具会自动识别位数并采用对应精度处理。