探索 JavaScript 中的新 Temporal API

最后更新: 四月20 2026
  • Temporal 取代了 Date,提供了一个更准确、更直观的 API,专为日期、时间、时区和日历而设计。
  • 它是不可变的:操作会创建新对象,从而避免与可变 Date 对象相关的常见错误。
  • 它支持时区、UTC-本地转换和非公历,使其成为全球应用的理想选择。
  • 高精度(纳秒级),包含 Temporal.Now,添加/使用,并且允许在开发原生支持时使用 polyfill。

JavaScript 中的新 Temporal API

您是否曾在与他人合作时感到沮丧 日期 y 小时 en JavaScript?如果答案是肯定的,请不要担心,您并不孤单。多年来,开发人员必须处理一个对象 Date 这不仅令人困惑,而且具有很大的局限性。随着时间的推移,这个问题导致许多人依赖外部库,例如 Moment.js, 卢克森 o 日期-fns 实现更加全面、灵活的功能。

然而,事情正在发生变化。 JavaScript 随着对象的引入而发展 Temporal,旨在消除与管理相关的麻烦的 API 日期 y 小时这项新标准是其中之一 最具颠覆性的数字技术它配备了现代化的工具、更高的精度和更直观的界面。如果您想了解此 API 如何彻底改变您的工作方式,请继续阅读。

Temporal 对象是什么?

时间对象 是集成到的新 API JavaScript 旨在取代过时的物体 Date。它的创建是为了解决许多固有的限制和问题 Date,提供一种更准确、更易于使用和更灵活的替代方案。

这个新模块提供了专门用于处理日期时间时区日历的不同数据类型和方法。Temporal 模块的亮点在于,它不仅支持默认的公历,还支持其他非西方历法,从而有助于开发全球化且兼顾不同文化的应用。

  Brackets IDE:权威指南——最流行的代码编辑器之一的历史、安装、扩展和优势

时间 API 功能

在项目中使用 Temporal 的原因

主要原因是 受到开发人员如此多关注的原因是因为它解决了对象 Date 永远无法正确解决。

  • 不可变 API: Temporal 的突出特点之一是它的不变性。这意味着一旦创建了Temporary对象,它的值就不能改变,并且任何操作都会生成一个新的对象。这可以防止 Date 易變的。
  • 支持所有时区: 借助 Temporal,您可以轻松地使用特定时区,并在 UTC 和当地时间。
  • 支持非公历: Temporal 允许您使用文化日历,这对于开发更具包容性的应用程序很有用。
  • 更高的精度: Temporal 支持精确到纳秒的计时,使其成为需要高精度的应用的理想选择。

Temporal 中的基本数据类型

Temporal 引入了两种主要数据类型,旨在适用于不同的用例:

  • «简单» 数据: 代表 日期 u 小时 而不将其与任何特定时区关联。它们非常适合处理与地理位置无关的日期,例如周年纪念日或重复事件。
  • «分区» 数据: 这些数据包括时区信息,非常适合管理依赖当地时间的事件或任务,例如全球会议。

Temporal 的主要方法

时间 API 包含一系列工具,可以简化日期时间的处理。以下是一些最常用的工具:

时间.现在

Temporal.Now是获取当前日期和时间的起点。它提供以下方法:

  • 立即的(): 以对象形式返回当前时间 Temporal.Instant.
  • plainDateISO(): 提供当前日期格式 ISO.
  • zonedDateTimeISO(): 将当前日期、时间和时区组合成一个对象 Temporal.ZonedDateTime.

加减时间的方法

Temporal 最令人期待的功能之一是它允许我们轻松地添加或减去 时代报日期 u 时间 具体的。方法如 add() y subtract() 使这些操作非常直观。

  web2py 完整指南:详细解释 Python Web 框架

使用 with() 进行个性化

Temporal 还包括方法 with(),它允许您修改对象的特定属性。 日期 o 时代报 创建一个新的。

全球发展优势

在全球化日益加深的今天,处理国际时区的日期时间变得至关重要。Temporal 凭借其强大的时区支持功能,在这方面表现出色。这不仅简化了不同地区之间的转换,还能根据夏令时调整自动更新日程安排。

Temporal 的现状和未来

虽然 Temporal 尚未在所有浏览器中完全实现,但它已经处于该过程的第 3 阶段。 TC39,这表明它正在越来越接近成为官方标准。同时,它也可以被以下 polyfill 使用: @js-temporal/polyfill,这有助于其在当前项目中的实施。

如果你正在寻找一种方式来与 日期 y 小时 Temporal 对象功能更强大,错误更少,绝对是您应该考虑的工具。这一进步有望大大简化我们作为开发人员的生活,让我们忘记我们在使用对象时遇到的问题 Date 几十年来。

最具颠覆性的数字技术
相关文章:
最具颠覆性的数字技术及其对商业的影响