Intl.Locale.prototype.calendar
calendar
是 Intl.Locale
实例的访问器属性,它返回此区域设置的日历类型。
描述
虽然世界上大多数地区使用公历,但全球各地也使用一些区域日历纪元。calendar
属性的值在构造时设置,可以通过区域设置标识符的 ca
密钥或 Intl.Locale()
构造函数的 calendar
选项设置。如果两者都存在,则后者优先;如果两者都不存在,则该属性的值为 undefined
。
有关支持的日历类型的列表,请参阅 Intl.Locale.prototype.getCalendars()
。
calendar
的设置访问器为 undefined
。您无法直接更改此属性。
示例
与其他区域设置子标签一样,日历类型可以通过区域设置字符串或构造函数的配置对象参数添加到 Intl.Locale
对象中。
通过区域设置字符串添加日历类型
在 Unicode 区域设置字符串规范 中,日历纪元类型是区域设置密钥“扩展子标签”。这些子标签添加了有关区域设置的附加数据,并通过使用 -u
扩展添加到区域设置标识符中。因此,日历纪元类型可以添加到传递给 Intl.Locale()
构造函数的初始区域设置标识符字符串中。要添加日历类型,首先将 -u
扩展添加到字符串中。接下来,添加 -ca
扩展以指示您正在添加日历类型。最后,将日历纪元类型添加到字符串中。
js
const locale = new Intl.Locale("fr-FR-u-ca-buddhist");
console.log(locale.calendar); // Prints "buddhist"
通过配置对象参数添加日历类型
Intl.Locale()
构造函数具有一个可选的配置对象参数,该参数可以包含任何几种扩展类型,包括日历。将配置对象的 calendar
属性设置为所需的日历纪元,然后将其传递给构造函数。
js
const locale = new Intl.Locale("fr-FR", { calendar: "buddhist" });
console.log(locale.calendar); // "buddhist"
规范
规范 |
---|
ECMAScript 国际化 API 规范 # sec-Intl.Locale.prototype.calendar |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
Intl.Locale
Intl.Locale.prototype.getCalendars()
- Unicode 日历标识符 在 Unicode 区域设置数据标记语言规范中