时间戳转换

Unix 时间戳与可读时间互转,多时区支持

关于时间戳转换

Unix 时间戳是从 1970-01-01 00:00:00 UTC 起经过的秒数(或毫秒数),是程序里最常用的时间表示方式。它本身不带时区信息,需要配合时区才能显示成本地时间——这也是跨国协作时最容易出错的地方。10 位是秒级,13 位是毫秒级,两者差 1000 倍,混用会导致时间偏差几十年。

使用步骤

  1. 输入时间戳(10 位秒或 13 位毫秒,工具自动识别)
  2. 选择要对照的时区,默认同时显示 UTC 与北京时间
  3. 也可以反向操作:选好日期时间,转成时间戳
  4. 复制结果到日志、数据库或接口参数里

常见错误

秒和毫秒混用

把 13 位毫秒当秒解析会得到几万年后的日期,反之则回到 1970。接口联调时先确认单位。

以为时间戳自带时区

时间戳只是绝对时刻,显示成几点取决于用哪个时区格式化。存储用 UTC,展示转本地,是最稳的约定。

忽略夏令时

部分海外服务器会切夏令时,按“固定差 8 小时”心算会在半年内对不上,以工具输出的时区结果为准。

常见问题

为什么同一条日志里的时间和我看到的不一样?

服务器通常运行在 UTC 时区。查看时请把时区切到 UTC 对一遍,或直接加上 8 小时换算成北京时间。

2038 年问题是什么?

32 位有符号整数最大约 21 亿秒,对应 2038-01-19。使用 64 位存储或在系统层面迁移到 64 位时间戳即可避免。

怎么区分秒和毫秒时间戳?

看位数:10 位是秒(约到 2286 年),13 位是毫秒。混用是最常见的 bug——把毫秒传给只认秒的接口,时间会跑到五万年后。工具里两种都认,会按位数自动判断。

能一次转换一整列吗?

能,粘贴多行时间戳会逐行输出。日志排查时特别省事:把 grep 出来的时间戳列整段贴进来,直接得到可读时间。每行独立处理,不会因为中间一行格式不对就整体失败。

转换结果是按哪个时区显示的?

同时给出 UTC 和你的本地时区,因为这两个最容易被混淆。服务器日志默认 UTC,你看到的「时间对不上」多半就是这个原因。要看别的时区,用「时区转换」工具填 IANA 名称更准。

来源:内置实现 · License: MIT · 分类:效率

相关阅读

← 返回 ToolHub 全部工具

✦ OPEN SOURCE TOOLS ✦

安全、快捷、开源工具及资源

无需安装、无需注册、无需命令行 —— 挑一个工具,填参数,出结果。

99 个工具 · 50 条资源 · 文件拖进来、内容粘进来都能用 · 无需注册
运行方式排序共 99 个
🔒 为什么本地执行更放心这一条是我们和多数工具站的根本区别
数据不出设备图片、Token、表格都在你的浏览器内处理,服务端不接触你的输入
没有账号体系不注册、不收邮箱、不做用户画像,收藏与记录只存在本机
可离线使用安装为桌面/手机应用后,断网也能运行全部本地工具