把 Unix 时间戳换算成可读的日期时间. 粘贴或输入一个 10 位(秒)或 13 位(毫秒) 的纯数字, 点"转换"即可得到 yyyy-MM-dd HH:mm:ss 格式的结果, 并可一键复制. 输入框里的 1767752074621 就是一个可直接点"转换"试试的真实样例.
输入: 1767752074621 (13 位, 毫秒) 输入: 1767752074 (10 位, 秒) 输出: 2026-01-07 10:14:34 (东八区北京时间, 精确到秒)
Unix 时间戳是从 1970-01-01 00:00:00 UTC(Unix 纪元)开始走过的时长. Java 的 System.currentTimeMillis(), JavaScript 的 Date.now() 返回的都是毫秒值, 所以是 13 位; Linux 的 date +%s, MySQL 的 UNIX_TIMESTAMP() 返回的是秒值, 所以是 10 位. 两者换算只差三个零, 但排查问题时把它们搞混, 就会得到相差几十万年的日期 -- 这是日志时间对不上最常见的原因之一.
System.currentTimeMillis() 毫秒; Instant.now().getEpochSecond() 秒Date.now() 毫秒; Math.floor(Date.now() / 1000) 秒SELECT UNIX_TIMESTAMP(NOW()) 秒; 反算 FROM_UNIXTIME(1767752074)date +%s 秒; 反算 date -d @1767752074time.Now().Unix() 秒; time.Now().UnixMilli() 毫秒有, 但只是精度不同: 10 位按秒解析, 13 位按毫秒解析. 本工具的展示结果统一精确到秒, 所以同一个时刻的 13 位毫秒值和它的 10 位秒值会转出一模一样的字符串, 末尾的毫秒部分被舍弃.
工具只接受长度恰好为 10 位或 13 位的数字. 常见触发原因有三个: 时间戳前后带了空格或引号; 复制时把毫秒小数点后的内容或科学计数法(如 1.767752074621E12)一起粘了进来; 或者拿到的其实是 yyyyMMddHHmmss 这类格式化数字而不是时间戳. 前者去掉杂质重新提交, 后者应该直接按字符串读, 不需要转换.
按东八区(北京时间)返回. 时间戳本身是与时区无关的绝对时刻, 同一秒值在 UTC 时区下会显示为早 8 小时. 如果你手上的数据来自 UTC 服务器, 请把结果减 8 小时, 或用命令行 date -u -d @1767752074 对照.
这个页面目前只做了时间戳到日期的单向换算. 反查可以用手边的现成工具: MySQL 里 SELECT UNIX_TIMESTAMP('2026-01-07 10:14:34'), Java 里 LocalDateTime.of(2026,1,7,10,14,34).toInstant(ZoneOffset.ofHours(8)).toEpochMilli(), 浏览器控制台里 new Date('2026-01-07 10:14:34').getTime().
免注册, 免费, 无使用次数限制. 需要注意: 本工具的解析在服务端完成, 你提交的时间戳数值会作为请求参数发送到接口, 只用于这一次换算, 页面没有账号体系, 也不会把结果展示给其他访问者. 含敏感数据的内容请自行评估.