时间戳转换 在线Unix时间戳转日期工具
Unix秒级和毫秒级时间戳与日期互转,支持时区显示、当前时间戳获取和毫秒精度,附多语言代码示例,适合开发调试和日志分析等场景。
更新于 2026-08-26
相关工具
功能特性
- 将Unix时间戳(秒/毫秒/微秒/纳秒)转换为可读日期
- 将日期反向转换为任意精度的Unix时间戳
- 自动识别输入是秒、毫秒、微秒还是纳秒
- 同时显示ISO 8601、UTC、RFC 2822和本地时间格式
- 显示相对时间(如'2小时前'、'3天后')
- 显示时长拆解(如'1年205天3小时33分20秒')
- 提供8种编程语言的代码示例(JS/Python/Go/Java/Rust/PHP/Ruby/Shell)
- 一键复制任意结果
- 支持一键获取当前时间戳
- 输入即转换,实时显示
- 首次加载后支持离线使用
使用方法
- 1在「时间戳→日期」标签页输入Unix时间戳(如1700000000)。
- 2工具自动判断精度:10位=秒、13位=毫秒、16位=微秒、19位=纳秒。
- 3查看ISO 8601、UTC、RFC 2822和本地时区的转换结果。
- 4查看「时长」字段,了解该时间戳对应多少年、天、小时、分钟、秒。
- 5点击「代码示例」查看不同编程语言中的转换方法。
- 6点击任意结果即可复制到剪贴板。
- 7切换到「日期→时间戳」标签页即可反向转换。
- 8选择精度:秒、毫秒、微秒或纳秒。
- 9点击「现在」按钮立即获取当前时间戳。
- 10粘贴Kafka、Protobuf或Go/Rust日志中的微秒时间戳来解码。
常见问题
什么是Unix时间戳?
Unix时间戳(又称纪元时间)是从1970年1月1日00:00:00 UTC起经过的秒数(或毫秒数)。它是编程、数据库和API中表示时间点的通用方式。
怎么判断时间戳是秒、毫秒、微秒还是纳秒?
工具会自动判断:最多10位=秒,13位=毫秒,16位=微秒,19位=纳秒。例如1700000000是秒,1700000000000是毫秒,1700000000000000是微秒。
什么时候用微秒或纳秒?
微秒(μs)常见于Go、Rust、Kafka、Protobuf和高性能日志系统。纳秒(ns)用于Go的time包和CockroachDB等数据库。秒是Unix/Linux、MySQL和Redis的标准。
什么是RFC 2822格式?
RFC 2822是邮件和HTTP Date头的标准格式:'Mon, 14 Nov 2023 22:13:20 +0000'。用于HTTP Cache-Control、If-Modified-Since和邮件Date头。
结果中的「时长」是什么意思?
时长将时间戳值表示为人类可读的时间跨度:年、天、小时、分钟和秒。例如31557600秒显示为'1y 0d 0h 0m 0s'(约1年)。
能不能转换1970年之前的日期?
理论上可以,负数Unix时间戳表示1970年1月1日之前的日期。但本工具目前仅支持正数时间戳。
什么是2038年问题?
2038年问题影响使用32位有符号整数存储Unix时间戳的系统。最大值(2,147,483,647秒)对应2038年1月19日。之后整数会溢出。现代系统使用64位整数,数十亿年内不会溢出。
怎么获取当前的Unix时间戳?
点击「现在」按钮即可。JavaScript中:Date.now()(毫秒)或Math.floor(Date.now()/1000)(秒)。终端中:'date +%s'(秒)或'date +%s%N | cut -b1-13'(毫秒)。
能不能转换数据库里的时间戳?
可以。MySQL UNIX_TIMESTAMP()返回秒,PostgreSQL EXTRACT(EPOCH FROM)返回秒,MongoDB存储毫秒,Go time.Now().UnixMicro()返回微秒。输入数值后工具会自动检测精度。
怎么把时间戳转换成 IST 等指定时区?
工具显示 UTC 和你的本地时间。要其他时区(如 IST,UTC+5:30),取 UTC 结果加上该时区偏移:1700000000 → 2023-11-14 22:13:20 UTC,加 5:30 → 2023-11-15 03:43:20 IST。目标时区不是本地时区时,先把 UTC 值拿到时区转换里换算。
能转换 Discord 的时间戳吗?
能。Discord 用的是标准 Unix 时间戳,标记格式如 <t:1700000000>(秒)或 <t:1700000000000:R>(毫秒,带格式字母)。粘贴标记里的数字即可,工具会自动识别秒/毫秒;<t:> 标记本身不会被解析,只粘数字部分。
为什么时间戳转换后差几个小时?
几乎都是时区问题。Unix时间戳是绝对的 UTC 时刻,显示成几点取决于用什么时区展示,工具会同时显示 UTC 和本地时间两个结果。差 8 小时很正常:如果你在中国(UTC+8)或新加坡,本地时间就比 UTC 早 8 小时;另一个常见原因是单位:13 位的毫秒值被当成 10 位秒值,日期会差几十年而不是几小时,先看单位提示再对时区。
为什么时间戳在 Excel 里会显示成 #### 或差一天?
Excel 把日期存成从 1900-01-01 起算的序列号,而 Unix 时间戳(秒)远超这个范围,所以 Excel 显示 ####、错误年份或乱码。分两步处理:先把单元格设为文本格式,或用公式 =(A1/86400)+DATE(1970,1,1) 并把单元格格式设为日期;另外 Windows 版 Excel 的 1900 年闰年 bug 会让 1900 年 3 月前的日期差一天。先用本时间戳转换拿到可读的 UTC 值再对照。
为什么我发的 Discord 时间戳在服务器成员那里显示的时间不一样?
Discord 按设计会把 <t:...> 时间戳渲染成每个观看者自己的本地时区,同一个值在你这里显示 12:00,在 UTC+8 的成员那里显示 20:00,时间戳和转换器都没有错。用本工具(时间戳转换在线版)核对底层的 UTC 时刻;如果希望所有人看到相同的钟面时间,直接在消息里写明 UTC 时间,而不是依赖 Discord 的本地渲染。