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