🌐 ZH

📅 ISO 8601 日期格式化工具

无论输入哪种格式的日期/时间(ISO 8601、RFC 2822、Unix 时间戳秒/毫秒等),都会自动识别并同时以 ISO 8601、RFC 2822、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 起经过的秒数(或毫秒数)。本工具在输入为纯数字时按位数自动判断:10~11 位视为秒(如 1700000000),13 位视为毫秒(如 1700000000000)。计算所选偏移量下的 ISO 8601 时,先将偏移量(以分钟计)加到 UTC 时刻上得到"墙钟时间",再按年-月-日 时:分:秒.毫秒格式化,并在末尾附加该偏移量——无论浏览器本地时区如何设置,结果始终一致且正确。

03

3. RFC 2822 与 HTTP 日期

RFC 2822(常见于邮件头)与 HTTP Date 头使用类似 "Tue, 15 Jan 2024 09:30:00 GMT" 的格式。JavaScript 的 toUTCString() 会生成此格式,而 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 时间戳是秒还是毫秒?
如果输入是纯数字,会按位数判断:10~11 位视为秒(如 1700000000),13 位视为毫秒(如 1700000000000)。
所选偏移量下的 ISO 8601 是如何计算的?
将所选偏移量(以分钟计)加到 UTC 时刻上,得到该偏移量下的"墙钟时间",再格式化为 年-月-日 时:分:秒.毫秒,并在末尾附加 +HH:MM 或 -HH:MM 形式的偏移量。无论浏览器本地时区如何设置,结果始终相同。
输入的日期会发送到服务器吗?
不会。所有转换均在浏览器 JavaScript 内完成,不会发送到任何服务器。