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 |
浏览器兼容性
加载中…