⏰ 时间戳转换

纯本地系统时钟 程序员每日必查

Unix 秒级/毫秒级时间戳与本地可读时间双向互转,多时区(北京、UTC、伦敦、纽约)实时联动。

当前 Unix 时间戳 (秒)
1700000000
当前毫秒时间戳 (ms)
1700000000000
🕒 时间戳 ➔ 可读时间
📅 可读时间 ➔ 时间戳

Unix 时间戳底层原理与跨时区开发指南

Unix 时间戳(也称 POSIX 时间戳或 Epoch Time)是计算机工业界记录时间流逝最核心、最稳固的基石。它定义为自协调世界时(UTC)1970 年 1 月 1 日 00:00:00 起所流逝的整数秒数(或毫秒数),不随地球任何地理时区、夏令时(DST)或政治边境调整而改变。掌握其转换规律是每一位后端工程师、前端开发者及数据分析师的基础功。

🔢 10 位(秒)与 13 位(毫秒)避坑

在日常调试中,最致命的低级 Bug 莫过于单位混淆。C/C++、Go (time.Now().Unix())、Python (time.time())、MySQL (UNIX_TIMESTAMP()) 默认输出 10 位秒;而 JavaScript (Date.now()) 与 Java 则输出 13 位毫秒。若将 13 位传入仅支持秒的接口,日期会错乱至 50,000 年后。

🌍 时区偏移 (Timezone Offset)

时间戳本身是纯粹且无时区属性的绝对物理量。但当它被格式化为“年-月-日 时:分:秒”可读字符串时,必须附加所在时区上下文。中国标准时间位于东八区(UTC+8),比格林威治标准时间整整快 8 小时。

⚠️ 2038 年问题 (Y2K38)

32 位带符号整型能容纳的最大正整数为 2,147,483,647,其对应的临界点为北京时间 2038 年 1 月 19 日 11:14:07。届时旧设备将溢出成负数倒退回 1901 年。现代 64 位体系彻底解决了该隐患。

快速使用步骤指南

  1. 查看当前北京时间与时间戳: 顶部动态秒表实时走字显示当前 Unix 纪元时间戳与对应的本地标准时间。
  2. 时间戳转北京时间: 在转换框中输入 10 位(秒级)或 13 位(毫秒级)数字,系统即刻呈现格式化日期与 UTC/GMT 时间。
  3. 北京时间转时间戳: 点击日期时间选择器选定目标年月日与时分秒,毫秒级反推生成对应的 Unix 秒和毫秒数值。
  4. 一键复制结果: 点击 复制秒 (10位) 或 复制毫秒 (13位),方便在数据库 SQL 查询、接口排错或日志定位中使用。

常见问题解答 (FAQ)

Q: 为什么时间戳有时候是负数?

只要时间早于 1970 年 1 月 1 日 00:00:00 UTC,时间戳就会表现为负数。例如阿波罗登月(1969 年 7 月 20 日)或二战结束日期对应的时间戳均为负数,现代数据库与编程语言均支持解析负时间戳。

Q: 本工具转换出的北京时间与服务器有毫秒级误差是怎么回事?

ToolNexus 是完全运行在浏览器客户端的纯前端应用,获取当前时间依据的是您本机的操作系统硬件时钟。如果您的电脑长时间未进行 NTP 网络对时,可能存在微小系统时钟漂移。