Temporal S4
提案概览
- 阶段: Stage 4
- 状态: 已完成
- ECMAScript 版本: ES2027
- 同步时间: 2026年8月26日
- English original · 官方仓库
提案速览
该提案引入了 Temporal 全局对象,作为 ECMAScript 的现代日期/时间 API,解决了 Date 对象长期存在的问题。它提供不可变对象,支持多种日历系统和标准 24 小时制时钟。js 中实现,并正在被纳入 ECMA-262 和 ECMA-402。
Note
以下 README 来自上游仓库,其中的阶段或状态标注可能滞后;当前信息以提案概览为准。
Temporal
提供用于处理日期和时间的标准对象和函数。
状态
此提案目前处于 Stage 4。
它将被合并到 ECMA-262 和 ECMA-402 标准中,并且此仓库将被归档。
实现状态:
- SpiderMonkey/Firefox:已发布 于 Firefox 139(2025-05-27)
- V8/Chrome:已发布 于 Chrome 144(2026-01-13)
- Node.js:已发布 于 Node 26(2026-05-05)
- JavaScriptCore/Safari
- Boa
- GraalJS:计划发布 于 GraalVM 25.1.0
- Kiesel
提案发起人
- Philipp Dunkel (@pipobscure)
- Maggie Johnson-Pint (@maggiepint)
- Matt Johnson-Pint (@mattjohnsonpint)
- Brian Terlson (@bterlson)
- Shane Carr (@sffc)
- Ujjwal Sharma (@ryzokuken)
- Philip Chimento (@ptomato)
- Jason Williams (@jasonwilliams)
- Justin Grant (@justingrant)
概述 / 动机
Date 一直是 ECMAScript 中长期存在的问题。
本提案提出 Temporal,一个作为顶层命名空间(类似 Math)的全局 Object,为 ECMAScript 语言带来现代的日期/时间 API。
有关动机的详细分析,请参阅:
修复 JavaScript Date
原则:
规范文本
规范文本可以在 此处 找到。
文档
参考文档和示例可以在下面找到。
- Temporal 文档(英文)
- Temporal のドキュメント(日文) (将英文文档的一部分翻译成日文)
- Temporal 文档(中文) (将英文文档的一部分翻译成中文)
一个帮助您入门并学习 Temporal 细节的 cookbook 可在 此处 获取。
Polyfills
如果您正在开发 polyfill,请提交 issue 或 PR,以便我们将您的 polyfill 添加到这里。
一个 非生产用 polyfill 是为了验证此提案而构建的。 此 polyfill 继续存在于本仓库中,但仅用于运行测试和为下方描述的文档“游乐场”提供支持。
不要在自己项目中使用此 polyfill! 请使用上表中的 polyfill。
文档游乐场
在查看 参考文档 时,非生产用 polyfill 会自动加载到您的浏览器中,因此您可以通过打开浏览器的开发者工具控制台来试用 Temporal。