杂记 › 技术笔记 › Unix时间戳转换工具使用指南:10位秒级、13位毫秒级与时区问题详解

Unix时间戳转换工具使用指南:10位秒级、13位毫秒级与时区问题详解

Unix时间戳(Unix Timestamp)是从协调世界时 1970年1月1日 00:00:00 UTC 起至某一时刻所经过的秒数(不含闰秒)。它用一个整数即可表示任意时间点,跨时区、跨语言、跨平台通用,因此被广泛用于数据库存储、日志记录、接口传输与文件命名。U2工具箱时间戳转换工具支持时间戳与日期双向互转、毫秒精度与多时区处理,打开即用、纯前端运行、数据不上传。

一、10位时间戳与13位时间戳的区别

关于时间戳最常见的困惑是"位数"。位数不同,代表的精度也不同:

位数单位示例常见来源
10位秒(s)1700000000PHP time()、MySQL UNIX_TIMESTAMP()、多数后端语言
13位毫秒(ms)1700000000000JavaScript Date.now()、Java System.currentTimeMillis()

换算关系:1 秒 = 1000 毫秒。13位去掉末尾3位即得10位;10位补3个0即得13位。若把13位当成10位解析,日期会跳到公元五万多年;反之则会落回1970年——这正是排查"时间显示异常"的第一条线索。

二、为什么转换后差了8小时?——时区问题

时间戳本身是基于 UTC 的绝对值,不含时区信息。同一个时间戳在全球任何地方都是同一个数字,差异只出现在"把时间戳翻译成人类可读日期"这一步:东八区(北京时间 UTC+8)会比 UTC 早 8 小时。以时间戳 1700000000 为例:

  • UTC 时间:2023-11-14 22:13:20
  • 北京时间(UTC+8):2023-11-15 06:13:20

如果转换结果与预期相差 8 小时,多半是时区选择问题,而非时间戳本身错误。在时间戳转换工具中切换时区即可得到正确结果。

三、如何使用时间戳转换工具

  1. 打开 https://www.uutools.com/timestamp。
  2. 时间戳转日期:粘贴 10 位或 13 位时间戳,工具自动识别精度,并按所选时区输出日期时间。
  3. 日期转时间戳:选择或输入日期时间,一键得到对应的秒级 / 毫秒级时间戳。
  4. 需要对比多地时间时,可配合世界时间工具查看各时区当前时间与时差。

四、典型使用场景

1. 排查日志时间

服务端日志与数据库字段常以时间戳存储。把可疑时间戳批量转为可读日期,能快速定位故障发生时刻。若还需计算两个时间点的间隔或做时间加减,可用时间加减计算器。

2. 调试接口返回

前端拿到接口返回的 create_time: 1700000000 却显示异常,应先确认它是秒还是毫秒,再核对时区,绝大多数"时间错乱"都能迎刃而解。

3. 生成文件名或版本号

时间戳单调递增、无特殊字符,适合用作文件命名、缓存 Key 与构建版本号。

五、常见问题(FAQ)

Q1:JavaScript 的 Date.now() 是几位?

13 位(毫秒)。若后端按 10 位秒级解析,需要先除以 1000。

Q2:PHP 如何获取当前时间戳?

time() 返回 10 位秒级;毫秒可用 (int)(microtime(true) * 1000)。

Q3:MySQL 中时间戳与日期如何互转?

UNIX_TIMESTAMP() 将日期转时间戳,FROM_UNIXTIME() 将时间戳转日期。

Q4:时间戳会溢出吗?

用 32 位有符号整数存储的秒级时间戳将在 2038 年 1 月 19 日 溢出(即"2038 问题"),改用 64 位存储即可规避。

小结:时间戳是跨系统通用的时间表示方式,掌握"位数=精度、转换看时区"两条原则即可解决大部分问题。日常转换直接使用在线时间戳转换工具,秒级 / 毫秒级自动识别,纯前端处理、数据安全。

📎 相关文章

两段文本到底哪里不一样?在线逐行对比高亮差异 2026-10-14 Crontab表达式看不懂?在线解析并预测下次执行时间 2026-10-14 从一堆文本里挑出手机号、邮箱、身份证?批量提取神器 2026-10-14 下载的文件被篡改了吗?用MD5校验1分钟验明正身 2026-10-14 敏感信息脱敏工具使用指南:手机号、身份证、银行卡自动打码 2026-10-14