Temporal.ZonedDateTime.prototype.minute

可用性有限

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

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

Temporal.ZonedDateTime 实例的 minute 访问器属性返回一个 0 到 59 之间的整数,表示该时间的分钟部分。

minute 的设置访问器是 undefined。你不能直接更改此属性。使用 with() 方法创建一个新的 Temporal.ZonedDateTime 对象,其中包含所需的新值。

有关一般信息和更多示例,请参阅 Temporal.PlainTime.prototype.minute

对于 ZonedDateTime,由于偏移量变化,minute 可能不是连续的。虽然比 hour 变化更罕见(因为夏令时通常以整小时为单位),但它仍然可能发生。

示例

使用 minute

js
const dt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:34:56.123456789-04:00[America/New_York]",
);
console.log(dt.minute); // 34

不连续的 minute

通常,minute 总是从 0 到 59,然后回到 0,即使经过夏令时转换。有一种特殊情况是夏令时有 30 分钟的偏移:澳大利亚的豪勋爵岛,它在 +10:30 和 +11:00 之间切换。在这种情况下,分钟可能不是连续的。

js
const dt = Temporal.ZonedDateTime.from(
  "2021-10-03T01:59:00+10:30[Australia/Lord_Howe]",
);
console.log(dt.minute); // 59
const dt2 = dt.add({ minutes: 1 });
console.log(dt2.minute); // 30
console.log(dt2.toString()); // 2021-10-03T02:30:00+11:00[Australia/Lord_Howe]

还有第二种特殊情况,即分钟可能不是连续的:小时时区的标准化。在 20 世纪初,大多数国家都使用自己的时区,这些时区通常与 UTC 的偏移量不是一个整小时。例如,巴黎曾经有 UTC+0:09:21 的偏移量,在 1911 年 3 月 11 日改为 UTC+0。

js
const dt = Temporal.ZonedDateTime.from(
  "1911-03-10T23:59:00+00:09:21[Europe/Paris]",
);
console.log(dt.minute); // 59
const dt2 = dt.add({ minutes: 1 });
console.log(dt2.minute); // 50
console.log(dt2.toString()); // 1911-03-10T23:50:39+00:00[Europe/Paris]

因此,您应该始终优先使用 add()subtract() 来操作日期和时间,而不是直接更改 minute 属性。

规范

规范
Temporal
# sec-get-temporal.zoneddatetime.prototype.minute

浏览器兼容性

另见