主要观点:新的 JavaScript Temporal 对象的实现开始在浏览器实验版本中推出,这将极大简化和现代化 JavaScript 中的日期和时间处理,依赖于调度、国际化或时间敏感数据的应用可使用内置功能,目前离稳定的跨浏览器支持还有距离,但已可了解其现状和优势。
关键信息:
- JavaScript 的
Date
对象存在诸多问题,如只支持本地时间和 UTC、无时区支持、解析行为不可靠等,导致日期和时间处理复杂易出错,多数开发者依赖第三方库。 - Temporal 是
Date
对象的全面替代品,支持时区和日历表示、多种内置方法,API 表面有 200 多个实用方法。 - Temporal 的核心概念包括瞬间、墙上时钟时间和持续时间等,有多种时间类和方法。
- 展示了 Temporal 的一些基本用法,如获取当前日期时间、不同时区的时间、不同日历的日期等,还提到
toLocaleString
在 Firefox 实现中的问题及compare()
方法的作用。 - 支持开始在实验浏览器版本中出现,Firefox 实现较成熟,可通过特定偏好开启,也可在 TC39 文档页尝试示例,同时列出了主要浏览器的相关跟踪 bug。
- 对在该过程中做出贡献的人员表示感谢。
重要细节: - MDN 上有超过 270 页的 Temporal 文档,包含详细解释和示例。
- 给出了各种时间操作的代码示例,如获取下一个中国新年等。
- 提到了不同浏览器的相关 bug 跟踪链接和
@js-temporal/polyfill
。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。