日期格式化与解析工具

用 Moment.js、strftime 或 Unicode LDML 模式格式化任意日期,查看 ISO 8601、RFC 2822、HTTP 和 Unix 格式,并解析自定义日期字符串。

支持 ISO 8601(2026-03-10T14:30:00+07:00)、RFC 2822、Unix 秒或毫秒时间戳,以及大多数常见日期写法。

用于解析不带时区偏移的输入,以及下方所有输出。

用 Moment 标记解析特殊格式,例如 DD/MM/YYYY HH:mm。月份名称须为英文。

格式化结果

什么是 日期格式化工具?

可以读取几乎任何常见写法的日期(ISO 8601、RFC 2822、Unix 秒或毫秒,或自定义模式),并按自定义模式以及一组标准格式输出,全部使用你选定的时区。

如何使用 日期格式化工具

  1. 在要格式化的日期/时间中输入日期,或点击现在;下方一行会告诉你它是如何被识别的。
  2. 选择时区,它用于解析不带偏移的输入以及所有输出。
  3. 如果输入的排版不常见,请在输入格式(可选)中描述它,例如 DD/MM/YYYY HH:mm。
  4. 填写输出格式,选择标记语法(Moment.js、strftime 或 LDML)以及月份和星期名称所用的语言。
  5. 复制格式化结果,或表格中的任意标准格式。

示例

输入
2026-03-10T07:30:05Z, zone Asia/Ho_Chi_Minh, pattern YYYY-MM-DD HH:mm:ss
输出
2026-03-10 14:30:05 – ISO 8601: 2026-03-10T14:30:05+07:00 – RFC 2822: Tue, 10 Mar 2026 14:30:05 +0700 – Unix: 1773127805

何时使用 日期格式化工具

适用于为代码构建或测试格式字符串、在不同 API 之间转换日期,或者弄懂一个陌生的时间戳。它并不支持每个库的所有冷门标记;支持的范围请查看工具内的标记参考。

日期格式化工具 的工作原理

输入按明确的规则解析:纯数字值视为 Unix 时间戳(最多 11 位为秒,12–14 位为毫秒),然后依次尝试 ISO 8601/RFC 3339、RFC 2822,最后是浏览器自带的解析器。不带偏移的值会放入所选时区,并处理夏令时的空档和重叠。格式化时,会把 YYYY、%Y 或 yyyy 等标记替换为取自该时区 Intl.DateTimeFormat 的字段;月份和星期名称来自 Intl 所选语言。

常见用例

  • 编写 strftime 或 Moment 格式字符串并检查输出
  • 把 ISO 时间戳转换为 RFC 2822 邮件日期
  • 在指定时区读取日志中的 Unix 时间戳
  • 把 10/03/2026 这样日在前的日期解析为 ISO 8601

常见问题

Moment、strftime 和 LDML 标记有什么区别?

它们是表达同一件事的三种常见写法:Moment/Day.js 使用 YYYY-MM-DD,strftime(C、Python、PHP、Ruby)使用 %Y-%m-%d,Unicode LDML(date-fns、Java、Swift)使用 yyyy-MM-dd。注意在 LDML 中小写 dd 表示日,大写 DD 表示一年中的第几天。

没有时区的日期如何解释?

按工具中所选的时区解释。带 Z 或 +07:00 这类偏移的日期是精确的,只是以所选时区显示。

工具如何区分秒和毫秒?

按长度区分:最多 11 位为秒,12–14 位为毫秒,15–17 位为微秒。

为什么月份名称不是英文?

名称默认跟随页面语言。把月份和星期名称切换为英语,即可得到大多数代码期望的 C/POSIX 风格输出。

推荐的下一步

探索更多分类