Intl.Locale.prototype.hourCycle

Baseline 已广泛支持

此功能已成熟,并可在许多设备和浏览器版本上使用。自 2020 年 9 月起,所有浏览器均已提供此功能。

hourCycle 访问器属性,属于 Intl.Locale 实例,用于返回此区域设置的小时制类型。

描述

全球主要有两种计时约定(时钟):12小时制和24小时制。支持的小时制类型列表,请参阅 Intl.Locale.prototype.getHourCycles()

hourCycle 属性的值在构造时设置,可以通过区域设置标识符的 hc 键,或者通过 Intl.Locale() 构造函数的 hourCycle 选项来设置。如果两者都存在,后者优先级更高;如果两者都不存在,该属性的值为 undefined

hourCycle 的设置器为 undefined。您不能直接更改此属性。

示例

与其他区域设置子标签一样,小时制类型可以通过区域设置字符串,或通过构造函数的配置对象参数添加到 Intl.Locale 对象中。

通过区域设置字符串添加小时制

Unicode 区域设置字符串规范中,hourCycle 是一个“扩展子标签”。这些子标签提供了关于区域设置的附加数据,并使用 -u 扩展键添加到区域设置标识符中。要将小时制类型添加到传递给 Intl.Locale() 构造函数的初始区域设置标识符字符串,请先添加 -u 扩展键(如果不存在)。接下来,添加 -hc 扩展以指示您正在添加小时制。最后,添加小时制类型。

js
const locale = new Intl.Locale("fr-FR-u-hc-h23");
console.log(locale.hourCycle); // "h23"

通过配置对象参数添加小时制

Intl.Locale() 构造函数有一个可选的配置对象参数,其中可以包含多种扩展类型,包括小时制类型。将配置对象的 hourCycle 属性设置为您想要的小时制类型,然后将其传递给构造函数。

js
const locale = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(locale.hourCycle); // "h12"

规范

规范
ECMAScript® 2026 国际化 API 规范
# sec-Intl.Locale.prototype.hourCycle

浏览器兼容性

另见