如何在不同时间格式之间转换
时间格式因系统、API 和国家而异。API 响应中的 Unix 时间戳、数据库中的 ISO 8601、美国的 12 小时制、欧洲的 24 小时制 · 对开发者以及处理国际数据的任何人来说,转换是常态。
常见时间格式
| 格式 | 示例 | 使用者 |
|---|---|---|
| Unix 时间戳(秒) | 1712502600 | API、数据库、JWT 令牌 |
| Unix 时间戳(毫秒) | 1712502600000 | JavaScript、Java |
| ISO 8601 | 2026-04-07T14:30:00Z | JSON API、数据库、日志 |
| RFC 2822 | Mon, 07 Apr 2026 14:30:00 +0000 | 邮件、HTTP 头 |
| 24 小时制 | 14:30 | 欧洲、军事、航空 |
| 12 小时制 | 2:30 PM | 美国、日常使用 |
快速转换速查表
12 小时制到 24 小时制
| 12 小时制 | 24 小时制 |
|---|---|
| 12:00 AM(午夜) | 00:00 |
| 1:00 AM | 01:00 |
| 12:00 PM(中午) | 12:00 |
| 1:00 PM | 13:00 |
| 6:00 PM | 18:00 |
| 11:59 PM | 23:59 |
时间戳到日期
使用 epoch 转换器可即时将 Unix 时间戳转换为可读日期,反之亦然。转换器会自动处理秒和毫秒格式。
小贴士
- 用 ISO 8601 交换数据· 它无歧义,作为字符串排序正确,且是 JSON API 的标准。
- 以 UTC 存储· 只在显示时才转换为本地时间。这样可避免用户分布在不同地区时的时区 bug。
- JavaScript 使用毫秒·
Date.now()返回毫秒,而非秒。除以 1000 获取标准 Unix 时间戳。 - 将转换器收藏起来· 如果您经常处理 API 或日志,时间戳转换是一件您会频繁做的事。
常见问题
什么是 ISO 8601 格式?
ISO 8601 是表示日期和时间的国际标准。它看起来像 2026-04-07T14:30:00Z,其中 T 分隔日期和时间,Z 表示 UTC。它不因区域不同而产生歧义。
为什么 API 使用 Unix 时间戳而不是可读日期?
Unix 时间戳是单个数字,易于存储、排序和比较。它与时区无关(始终是 UTC),占用的空间比格式化日期字符串少。代价是对人类不可读。
时间戳末尾的 Z 是什么意思?
Z 代表「Zulu 时间」,是 UTC(协调世界时)的另一种说法。以 Z 结尾的时间戳是 UTC,而非本地时间。
如何将 24 小时制转换为 12 小时制?
对于 1–12 的小时,小时保持不变(0–11 添加 AM,12 添加 PM)。对于 13–23,减去 12 并添加 PM。00:00 变为 12:00 AM(午夜)。12:00 变为 12:00 PM(中午)。