时间戳转换

Unix 时间戳与日期时间在线互转,自动识别秒与毫秒,实时显示当前时间戳,本地时间、UTC 与 ISO 8601 多格式对照,全程本地计算。

当前 Unix 时间戳(秒)0
当前 Unix 时间戳(毫秒)0
时间戳 → 日期时间

当前时间戳一般为 10 位(秒)或 13 位(毫秒),默认自动识别,也可以手动指定单位。

本地时间—
UTC 时间—
ISO 8601—
星期—
日期时间 → 时间戳

按您设备所在的本地时区解析输入的日期时间,留空则保持占位状态。

Unix 时间戳(秒)—
Unix 时间戳(毫秒)—

使用说明

  1. 页面顶部实时显示当前 Unix 时间戳,秒数与毫秒数每秒自动刷新。
  2. 在「时间戳 → 日期时间」输入 10 位(秒)或 13 位(毫秒)的时间戳,立即得到本地时间、UTC 时间、ISO 8601 与星期结果。
  3. 不确定单位时可保持「自动识别」;特殊情况可点「秒」或「毫秒」手动指定,也可一键填入当前时间。
  4. 在「日期时间 → 时间戳」用日期选择器或手动输入本地日期时间,对应的秒与毫秒时间戳会实时给出。
  5. 需要把时间戳传给程序或接口时,直接选中对应结果复制即可。

常见问题

秒与毫秒时间戳怎么区分?
当前时间的秒级时间戳是 10 位、毫秒级是 13 位。「自动识别」以 10^12 为分界:数值小于它按秒处理,大于等于按毫秒处理;拿不准时建议手动选择单位。
转换使用的是哪个时区?
「时间戳 → 日期时间」中的本地时间按您设备的时区显示,UTC 行可用于与国际标准时间对照;「日期时间 → 时间戳」同样按设备本地时区解析您输入的日期时间。
支持 1970 年以前的负数时间戳吗?
支持。负数时间戳可以表示 1970-01-01 之前的时刻,例如 -86400 对应 1969-12-31(UTC)。
时间戳有范围限制吗?
基于 JavaScript 的日期表示,可表示的范围约为 ±8.64×10^15 毫秒(约 ±2.7 亿年),超出范围会提示日期无效。

界面截图

时间戳转换 · 界面预览
界面预览
时间戳转换 · 示例结果
示例结果

使用步骤

  1. 查看顶部当前时间戳

    页面顶部的当前 Unix 时间戳每秒刷新一次,秒与毫秒两个数值同时给出,需要取当前值时直接复制即可。

  2. 输入时间戳反向查询

    把 10 位秒级或 13 位毫秒级时间戳填入上方输入框。本地时间、UTC 时间、ISO 8601 格式和星期立即同时显示。

  3. 必要时手动指定单位

    默认自动识别按位数判断单位;遇到特殊数值怕判错时,手动选秒或毫秒,也可以点使用当前时间快速填入。

  4. 把日期转成时间戳

    在下方选择或输入本地日期与时间,对应的秒级和毫秒级时间戳实时生成,写代码造测试数据时很省事。

  5. 留意时区与负数时间

    日期选择器按设备本地时区解读,UTC 一行可作对照。1970 年以前的时间用负数表示,超出范围会提示无效日期。

工具详细介绍

Unix 时间戳是从 1970 年 1 月 1 日开始累计的秒数或毫秒数,数据库、日志和接口普遍用它记录时间,但人眼读不出具体日期。本工具提供双向转换:输入时间戳立刻得到本地时间、UTC、ISO 8601 与星期,也能把日期换算回时间戳。

适合排查日志时核对记录的发生时间、调试定时任务和缓存过期时间、把接口文档里的示例时间戳翻译成日期。写测试用例时,也能反过来生成指定时刻的时间戳。前后端开发、测试与数据分析人员日常都会用到。

原理与背景

Unix 时间严格来说不计闰秒:每个自然日都按 86400 秒累计,而真实世界偶尔会插入一个闰秒。2015 年与 2016 年底的闰秒就让一些服务在午夜出现一秒的重复或回退。时间戳与原子钟之间存在缓慢漂移,精确到毫秒的数值并不保证与真实时刻分毫不差。跨系统对账、金融交易排序这类对先后顺序苛刻的场景,需要额外的对时机制兜底,不能只信时间戳本身。

2038 年 1 月 19 日 03:14:07 UTC 是 32 位时间戳的终点。32 位有符号整数最大值 2147483647 在此刻耗尽,仍按 32 位秒计数的设备会溢出回 1901 年。现代 JavaScript 用双精度浮点存毫秒,53 位尾数让时间范围远超文明跨度,13 位毫秒级时间戳来源于此。ISO 8601 把字段从大到小排列,以 T 分隔日期与时间,结尾的 Z 代表零时区。字符串排序等于时间排序,跨时区沟通时报它最不易歧义,记录日志时也应优先采用。

典型使用场景

  1. 串起故障日志时间线

    排查故障时把各条日志里的时间戳逐一粘进来转换,再按统一时区排列。事件先后与间隔一目了然,也容易揪出时间倒流的异常记录,比肉眼比对各家格式不一的日期可靠。

  2. 核对令牌与缓存有效期

    接口下发的 token 过期时间和缓存失效时刻常用毫秒时间戳表示,粘进来立刻知道还剩多久。写续期逻辑前先换算一遍,确认阈值符合预期,避免上线后才发现设错量级。

  3. 生成边界测试数据

    测试定时任务与倒计时时常用到 0(纪元起点)、负数、整点整分这类特殊时间戳。在日期选择器里选定后,直接取下方的数值写进用例,比在代码里临时计算更快也更直观。

使用技巧

  • 位数是判断单位的第一线索:当前时刻秒级 10 位、毫秒级 13 位;自动识别以 10 的 12 次方为分界。
  • 转换按设备本地时区展示,UTC 一行用于对照;和海外同事对时间时报 ISO 8601 格式最不易歧义。
  • 支持 1970 年以前的负数时间戳,例如 -86400 对应 1969 年的最后一天;数值范围约正负 27 万年。

注意事项

  • 毫秒误当秒使用

    把 13 位毫秒值喂给只接受秒的系统,得到的日期会落到五万年以后。这类错误常见于 JavaScript 生成的时间戳直接传给后端秒级字段,写入前先确认目标接口的单位约定。

  • 夏令时的重复小时

    实行夏令时的时区在秋季把时钟拨回,同一本地时间一年里出现两次,对应两个不同时间戳。用本地时间字符串存事件会因此排序错乱,落库与排序都应以时间戳为准。

  • 1970 附近的零值陷阱

    纪元之前的时间用负数表示是合法的,但不少语言与框架会把它截断成 0 或直接报错。数据里突然出现成片的 1970-01-01,多半是上游把空值或负数吞掉了,先查源头再下结论。

相关工具