Temporal.PlainTime

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

Temporal.PlainTime 对象表示一个没有日期或时区的时间;例如,每天在同一时间发生的周期性事件。它从根本上表示为小时、分钟、秒、毫秒、微秒和纳秒值的组合。

描述

PlainTime 本质上是 Temporal.PlainDateTime 对象的时间部分,去除了日期信息。由于日期和时间信息之间没有太多交互,因此所有关于时间属性的通用信息都记录在此处。

RFC 9557 格式

PlainTime 对象可以使用 RFC 9557 格式进行序列化和解析,该格式是 ISO 8601 / RFC 3339 格式的扩展。字符串具有以下形式:

HH:mm:ss.sssssssss
HH

一个两位数,从 0023。它可能以时间指示符 Tt 为前缀。

mm 可选

一个从 0059 的两位数。默认为 00

ss.sssssssss 可选

一个从 0059 的两位数。可以选择后跟 ., 和一到九位数字。默认为 00HHmmss 部分可以用 : 分隔或不用。你可以只省略 ss 或同时省略 ssmm,因此时间可以有三种形式:HHHH:mmHH:mm:ss.sssssssss

作为输入,你可以选择包含日期、偏移量、时区标识符和日历,格式与 PlainDateTime 相同,但它们将被忽略。纯日期字符串将被拒绝。[key=value] 格式的其他注解也将被忽略,并且它们不得具有关键标志。

序列化时,你可以配置小数秒位数。

构造函数

Temporal.PlainTime() 实验性

通过直接提供底层数据来创建新的 Temporal.PlainTime 对象。

静态方法

Temporal.PlainTime.compare() 实验性

返回一个数字(-1、0 或 1),指示第一个时间是在第二个时间之前、相同还是之后。等效于逐个比较小时、分钟、秒、毫秒、微秒和纳秒字段。

Temporal.PlainTime.from() 实验性

从另一个 Temporal.PlainTime 对象、具有时间属性的对象或 RFC 9557 字符串创建新的 Temporal.PlainTime 对象。

实例属性

这些属性定义在 Temporal.PlainTime.prototype 上,并由所有 Temporal.PlainTime 实例共享。

Temporal.PlainTime.prototype.constructor

创建实例对象的构造函数。对于 Temporal.PlainTime 实例,初始值是 Temporal.PlainTime() 构造函数。

Temporal.PlainTime.prototype.hour 实验性

返回一个从 0 到 23 的整数,表示此时间的小时部分。

Temporal.PlainTime.prototype.microsecond 实验性

返回一个从 0 到 999 的整数,表示此时间的微秒(10-6 秒)部分。

Temporal.PlainTime.prototype.millisecond 实验性

返回一个从 0 到 999 的整数,表示此时间的毫秒(10-3 秒)部分。

Temporal.PlainTime.prototype.minute 实验性

返回一个从 0 到 59 的整数,表示此时间的分钟部分。

Temporal.PlainTime.prototype.nanosecond 实验性

返回一个从 0 到 999 的整数,表示此时间的纳秒(10-9 秒)部分。

Temporal.PlainTime.prototype.second 实验性

返回一个从 0 到 59 的整数,表示此时间的秒部分。

Temporal.PlainTime.prototype[Symbol.toStringTag]

[Symbol.toStringTag] 属性的初始值是字符串 "Temporal.PlainTime"。此属性在 Object.prototype.toString() 中使用。

实例方法

Temporal.PlainTime.prototype.add() 实验性

返回一个新的 Temporal.PlainTime 对象,表示此时间向前移动了给定持续时间(以可由 Temporal.Duration.from() 转换的形式),必要时在时钟上循环。

Temporal.PlainTime.prototype.equals() 实验性

如果此时间的值与另一个时间(以可由 Temporal.PlainTime.from() 转换的形式)等效,则返回 true,否则返回 false。它们通过时间值进行比较。等效于 Temporal.PlainTime.compare(this, other) === 0

Temporal.PlainTime.prototype.round() 实验性

返回一个新的 Temporal.PlainTime 对象,表示此时间四舍五入到给定单位。

Temporal.PlainTime.prototype.since() 实验性

返回一个新的 Temporal.Duration 对象,表示从另一个时间(以可由 Temporal.PlainTime.from() 转换的形式)到此时间的持续时间。如果另一个时间在此时间之前,则持续时间为正,如果之后则为负。

Temporal.PlainTime.prototype.subtract() 实验性

返回一个新的 Temporal.PlainTime 对象,表示此时间向后移动了给定持续时间(以可由 Temporal.Duration.from() 转换的形式),必要时在时钟上循环。

Temporal.PlainTime.prototype.toJSON() 实验性

返回一个字符串,以与调用 toString() 相同的 RFC 9557 格式表示此时间。旨在由 JSON.stringify() 隐式调用。

Temporal.PlainTime.prototype.toLocaleString() 实验性

返回一个字符串,包含此时间对语言敏感的表示。

Temporal.PlainTime.prototype.toString() 实验性

返回一个字符串,以 RFC 9557 格式表示此时间。

Temporal.PlainTime.prototype.until() 实验性

返回一个新的 Temporal.Duration 对象,表示从此时间到另一个时间(以可由 Temporal.PlainTime.from() 转换的形式)的持续时间。如果另一个时间在此时间之后,则持续时间为正,如果之前则为负。

Temporal.PlainTime.prototype.valueOf() 实验性

抛出 TypeError,这可以防止 Temporal.PlainTime 实例在算术或比较操作中被隐式转换为原始值

Temporal.PlainTime.prototype.with() 实验性

返回一个新的 Temporal.PlainTime 对象,表示此时间的一些字段被新值替换。

规范

规范
Temporal
# sec-temporal-plaintime-objects

浏览器兼容性

另见