Unix 时间戳转换器
Unix 时间戳转换器用于在时间戳和可读日期之间互转。页面顶部显示当前实时秒级时间戳,并每秒更新一次。第一个标签页可以把秒或毫秒时间戳转换为 UTC 时间、本地时间和相对当前时间;第二个标签页可以把浏览器中的 datetime-local 输入转换为秒级和毫秒级时间戳。复制当前时间戳按钮适合调试 API、日志、数据库记录或缓存过期时间。
秒和毫秒的区别
很多后端接口使用秒级 Unix timestamp,例如 1700000000;JavaScript 的 Date.getTime() 使用毫秒,例如 1700000000000。页面通过单选按钮区分 seconds 和 milliseconds:选择秒时会乘以 1000 再创建 Date,选择毫秒时直接使用输入值。日期转时间戳时,工具同时显示 Math.floor(ms / 1000) 的秒值和原始毫秒值,避免把 10 位和 13 位时间戳混用。
UTC、本地时间和相对时间
时间戳本身不包含时区,它表示从 1970-01-01 00:00:00 UTC 起经过的秒或毫秒。页面会同时显示 UTC 字符串和浏览器本地时区格式,帮助你检查服务端日志与本地界面是否对齐。相对时间只是用目标时间减去 Date.now() 后粗略显示 +s、+m、+h、+d 或 +y,适合快速判断时间在过去还是未来。
常见注意点
2038 问题主要影响仍使用 32 位有符号整数保存秒级时间戳的系统;现代 JavaScript Date 可以处理更广范围,但外部数据库和老系统可能仍有限制。处理跨时区排期、审计日志和过期时间时,建议保存 UTC 时间戳,并在展示层转换为用户时区。这个页面不处理闰秒,也不替代业务系统的时区规则校验。
调试建议
排查接口时间问题时,先确认字段使用秒还是毫秒,再确认前端展示时区。若日志中同一事件相差 8 小时,通常是 UTC 与本地时区展示差异,而不是时间戳本身错误。复制实时秒值可快速生成测试请求。
评论