时间转换
Unix 时间戳是计算机系统中表示时间的标准方式——它是从 1970年1月1日 00:00:00 UTC 起经过的秒数或毫秒数。无论你是在查看服务器日志、调试API接口、还是处理数据库中的时间字段,你都会频繁遇到这种格式。这个工具让你在时间戳和可读日期之间即时转换。
支持秒级(10位)和毫秒级(13位)时间戳,自动检测输入格式。双向转换——时间戳转日期、日期转时间戳——都在同一个界面上完成,双击即可复制结果。
时间戳 → 日期
日期 → 时间戳
📖 时间戳转换工具使用说明
什么是 Unix 时间戳?
Unix 时间戳(Unix Timestamp)是一种在计算机系统中广泛使用的时间表示方式。它定义为从 1970年1月1日 00:00:00 UTC(Unix 纪元)开始所经过的秒数或毫秒数。这个时间原点被称为 "Unix Epoch",选择这个日期是因为 Unix 操作系统诞生于那个年代。时间戳的最大优势是跨平台、跨语言的一致性——无论你在 Go、Python、JavaScript 还是数据库中,同一个时间戳代表同一个瞬间。秒级 vs 毫秒级
- 秒级时间戳(10位):精确到秒,例如 1715678901 表示精确到秒的时间。传统 Unix 系统、大多数后端语言(Go time.Unix、Python time.time())默认使用秒级。也是服务器日志和数据库中最常见的格式。
- 毫秒级时间戳(13位):精确到毫秒,例如 1715678901000 表示同一时刻的毫秒表示。JavaScript 的 Date.now() 返回毫秒级时间戳,浏览器端 API 调用、前端日志也多用此格式。它是秒级 × 1000 的结果。
- 快速识别方法:10 位 ≈ 秒级(范围约 2001~2286 年);13 位 ≈ 毫秒级(范围约 2001~2286 年)。如果数值大于 10^12,大概率是微秒或纳秒级,需要除以 1000 后再使用。
使用方法
- 时间戳 → 日期:在输入框中粘贴 10 位或 13 位时间戳,工具会自动检测格式并转换为可读的日期时间(支持 ISO 8601、RFC 2822 和多种自定义格式)。双击任意格式即可复制。
- 日期 → 时间戳:填写年/月/日/时/分/秒字段,秒级和毫秒级时间戳实时生成。点击「现在」按钮快速填入当前系统时间。
- 点击「现在」:两个面板都有「现在」按钮——面板一填入当前毫秒级时间戳,面板二填入当前日期时间。
实战案例
- 故障时间定位:运维同学说"昨天下午 3 点有流量突增",你把 2026-05-12 15:00:00 填进去得到时间戳,再到日志平台用时间戳范围筛选,精确锁定那几分钟的日志。
- JWT Token 校验:JWT 的 exp 字段通常用秒级时间戳表示过期时间。拿到 exp: 1747180800,粘贴进来立即知道 Token 在什么时候过期,不用心算。
- 数据库导出给非技术团队:数据库里 create_time 字段存的是时间戳 1715678901,导出报表时转换成 2024-05-14 10:35:01 给运营同事看。
常见误区
- Year 2038 问题:32 位系统用有符号整数存储秒级时间戳,最大值 2,147,483,647 对应 2038年1月19日 03:14:07 UTC。超过这个时间会发生整数溢出。不过 64 位系统已无此问题,现代服务器和浏览器均安全。
- 时区混淆:Unix 时间戳本身是无时区的——无论你在北京、纽约还是伦敦,同一时刻的时间戳完全相同。转换后的日期时间默认使用你的本地时区。如果你需要 UTC 时间,请注意 ±8(北京时间)或对应偏移。
- 秒/毫秒单位混淆:有人拿到毫秒级时间戳但当成秒级来转换,会得到 50000 年的日期(荒谬)。如果你粘贴时间戳后看到年份远超现在,先检查是不是单位搞错了。
- 不是所有日期都有效:2月30日、4月31日等不存在的日期输入后不会产生有效的时间戳。工具会忽略无效日期。
命令行替代方案
# 获取当前时间戳(秒)
date +%s
# 获取当前时间戳(毫秒)
date +%s%3N
# 时间戳转日期
date -r 1715678901 "+%Y-%m-%d %H:%M:%S"
# Python 一行搞定
python3 -c "import time; print(time.time())"
# JavaScript(浏览器控制台)
Math.floor(Date.now() / 1000) // 秒级
Date.now() // 毫秒级