🌐 ZH

📅 ISO 8601 日期格式化工具

以多种格式显示浏览器可识别的 ISO 8601、RFC 2822 等日期/时间字符串,以及 Unix 时间戳。纯数字输入会根据位数按秒或毫秒 Unix 时间戳处理。选择 UTC 偏移量即可查看该固定偏移量下的 ISO 8601 表示。

指南

了解更多

01

1. 什么是 ISO 8601?

ISO 8601 是表示日期和时间的国际标准格式,例如 "YYYY-MM-DDTHH:mm:ss.sssZ" —— 年-月-日与时:分:秒之间用 T 分隔,末尾附加 UTC(Z)或时区偏移量(如 +09:00)。它在日志、API 响应、数据库存储等场景中被广泛使用,因为无论对人还是机器都不会产生歧义。

02

2. Unix 时间戳与偏移量计算

Unix 时间戳表示相对于 1970-01-01T00:00:00Z 的秒数或毫秒数。此工具会去除开头的负号,再按数字位数识别数值输入。1 到 11 位按秒处理,12 位及以上按毫秒处理;超出 JavaScript Date 范围的值会视为无效日期。选择固定 UTC 偏移量后,工具会将偏移量(分钟)加到 UTC 时间上,以“墙上时钟时间”显示,并在末尾附加原始偏移量。此计算与浏览器的本地时区无关。

03

3. RFC 2822 与 HTTP 日期

RFC 2822 常用于电子邮件标头,HTTP Date 标头使用类似“Mon, 15 Jan 2024 09:30:00 GMT”的 GMT 形式。JavaScript 的 toUTCString() 会生成 HTTP 风格的 UTC 日期字符串。Date.parse() 可以识别这种格式以及受支持的 ISO 8601 字符串,因此能够转换日志文件、API 标头和数据库转储等来源中的受支持日期字符串。

常见问题

可以输入哪些格式的日期?
ISO 8601(2024-01-15T09:30:00Z)、RFC 2822(Mon, 15 Jan 2024 09:30:00 GMT)、Unix 时间戳(秒或毫秒的数字),以及浏览器 Date.parse() 能识别的大多数常见日期字符串。
工具如何判断 Unix 时间戳是秒还是毫秒?
对于数字输入,工具会统计开头负号以外的数字位数。1 到 11 位按秒处理,12 位及以上按毫秒处理。超出 JavaScript Date 范围的值无效。
所选偏移量下的 ISO 8601 是如何计算的?
对于所选 UTC 偏移量,工具会将偏移量(分钟)加到 UTC 时刻,得到该偏移量下的墙上时钟时间,然后以年-月-日 时:分:秒.毫秒显示,并附加 +HH:MM 或 -HH:MM 后缀。所选偏移量是固定值,因此不受浏览器本地时区影响。选择本地时区后,浏览器会使用该时刻的本地偏移量,其中可能包含夏令时。
输入的日期会发送到服务器吗?
不会。所有转换均在浏览器 JavaScript 内完成,不会发送到任何服务器。