Unix 时间戳转换
时间戳转日期、日期转时间戳,自动识别秒、毫秒、微秒,可选时区,支持每行一个的批量转换,顶部实时显示当前时间戳。全部在本地完成。
当前时间戳
时间戳转日期
日期转时间戳
批量转换
提示:时间戳本身不带时区,同一个时间戳在北京和纽约显示的钟点不同。对不上时,先确认对方用的是秒还是毫秒、哪个时区。
如何使用
- 看当前时间戳:页面顶部每秒刷新秒级和毫秒级时间戳,点「复制」直接拿去用;需要记下某一刻时点「暂停」,数字会停住,再点「继续」恢复走动。
- 时间戳转日期:把时间戳粘贴到输入框,结果会立刻列出本地时间、UTC 时间、ISO 8601、相对时间(比如“3 天前”)以及对应的秒和毫秒值。默认自动判断位数,也可以手动指定单位;在「显示时区」里选一个时区,会多出该时区的时间。
- 日期转时间戳:选好日期和时间(精确到秒),再选这个时间是按哪个时区来理解的,例如“北京时间 2024-01-01 08:00:00”就选 Asia/Shanghai,然后点「转换」得到秒和毫秒时间戳。
- 批量转换:在左侧每行贴一个时间戳或一个日期,点「批量转换」,右侧逐行给出结果。时间戳会转成日期,日期会转成秒级时间戳,可以混在一起;空行原样保留,方便对照。
适用场景
排查日志和数据库:很多系统把时间存成 created_at=1700000000 这样的数字,贴进来马上知道是哪天几点。调试接口:确认前端传的是毫秒、后端按秒解析,或者签名里的时间戳是否过期。写定时任务、设置缓存过期时间、生成测试数据时,用「日期转时间戳」算出准确的数值。跨时区协作时,把同一时刻换算成北京时间和美东时间,避免会议和上线时间搞错。
使用技巧
- 位数判断:10 位是秒,13 位是毫秒,16 位是微秒,19 位是纳秒。2001 年 9 月到 2286 年之间的秒级时间戳都是 10 位,所以看位数基本不会错。
- 带小数也能识别,比如 Python
time.time()输出的1700000000.123456会按秒处理并保留到毫秒。 - 负数表示 1970 年以前的时间,例如
-86400是 1969-12-31 00:00:00 UTC。 - 批量模式里,写成
2024-02-29 12:30:00的日期按所选时区理解;以Z或+08:00结尾的日期按它自带的偏移计算。 - 常用语言获取当前时间戳:JavaScript
Date.now()(毫秒),Pythonint(time.time()),JavaSystem.currentTimeMillis()(毫秒),Gotime.Now().Unix(),PHPtime(),MySQLUNIX_TIMESTAMP(),Linux 命令行date +%s。
什么是 Unix 时间戳
Unix 时间戳(也叫 Epoch 时间、POSIX 时间)是从 1970 年 1 月 1 日 00:00:00 UTC 起经过的秒数。它只是一个不断增长的整数,与时区无关:此刻全世界的 Unix 时间戳都相同,只是换算成“几点几分”时,北京要加 8 小时,纽约要减 4 或 5 小时。正因为简单、好比较、好计算差值,数据库、日志、接口和文件系统普遍用它记录时间。本工具用浏览器内置的 Intl 时区数据完成换算,夏令时会自动按当地规则处理。
隐私说明
所有换算都在你的浏览器里进行,输入的时间戳、日期和批量内容不会发送到任何服务器,关掉页面就不留痕迹。即使断网,页面加载后依然可以正常使用。
常见问题
问:怎么判断时间戳是秒还是毫秒?
答:看位数:现在的秒级时间戳是 10 位,毫秒是 13 位,微秒 16 位,纳秒 19 位。本工具默认按位数自动识别,识别结果会显示在下方,也可以手动指定单位。
问:为什么转换出来的时间差了 8 小时?
答:时间戳本身没有时区,差 8 小时通常是一边按 UTC、一边按北京时间(UTC+8)显示。对照结果里的“本地时间”和“UTC 时间”两行即可看出差别。
问:日期转时间戳时选的时区有什么用?
答:同一个“2024-01-01 08:00”在北京和纽约是不同的时刻,对应的时间戳也不同。选择时区就是告诉工具这个日期是哪里的钟点,结果才准确。
问:什么是 2038 年问题?
答:用 32 位有符号整数保存秒级时间戳的旧系统,最大只能表示到 2038-01-19 03:14:07 UTC,之后会溢出变成负数。现代系统普遍改用 64 位,本工具不受影响。
问:时间戳会受闰秒和夏令时影响吗?
答:Unix 时间戳规定每天固定 86400 秒,不计闰秒;夏令时只影响换算成当地钟点的结果,时间戳本身不变。本工具会按所选时区的夏令时规则显示。
问:输入的数据会上传吗?
答:不会。所有转换都在浏览器本地完成,页面没有把数据发送到服务器的步骤。