Skip to main content
UFOZoo

时间戳转换 在线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. 1在「时间戳→日期」标签页输入Unix时间戳(如1700000000)。
  2. 2工具自动判断精度:10位=秒、13位=毫秒、16位=微秒、19位=纳秒。
  3. 3查看ISO 8601、UTC、RFC 2822和本地时区的转换结果。
  4. 4查看「时长」字段,了解该时间戳对应多少年、天、小时、分钟、秒。
  5. 5点击「代码示例」查看不同编程语言中的转换方法。
  6. 6点击任意结果即可复制到剪贴板。
  7. 7切换到「日期→时间戳」标签页即可反向转换。
  8. 8选择精度:秒、毫秒、微秒或纳秒。
  9. 9点击「现在」按钮立即获取当前时间戳。
  10. 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 的本地渲染。