Temporal.PlainYearMonth
Temporal.PlainYearMonth 对象表示日历日期的年份和月份,不包含日期或时区;例如,日历上整个月发生的事件。它在根本上表示为 ISO 8601 日历日期,具有年、月和日字段,以及关联的日历系统。该日期用于消除非 ISO 日历系统中年月日的歧义。
描述
PlainYearMonth 本质上是 Temporal.PlainDate 对象的年月部分,不包含日期。
RFC 9557 格式
PlainYearMonth 对象可以使用 RFC 9557 格式进行序列化和解析,该格式是 ISO 8601 / RFC 3339 格式的扩展。字符串具有以下形式(空格仅为可读性而存在,不应出现在实际字符串中):
YYYY-MM-DD [u-ca=calendar_id]
YYYY-
一个四位数,或者一个带
+或-号的六位数。 MM-
一个从
01到12的两位数。 DD可选-
一个两位数,从
01到31。对于非 ISO 日历是必需的,否则是可选的。如果省略,字符串看起来像YYYY-MM或YYYYMM。请注意,实际存储的参考日期可能与您提供的不同,但所表示的年月是相同的。有关更多信息,请参阅Temporal.PlainYearMonth.from()。YYYY、MM和DD组件可以使用-或不使用任何分隔符。 [u-ca=calendar_id]可选-
将
calendar_id替换为要使用的日历。有关常用支持的日历类型列表,请参阅Intl.supportedValuesOf()。默认为[u-ca=iso8601]。可以通过在键前加!来添加关键标志:例如[!u-ca=iso8601]。这个标志通常告诉其他系统,如果它们不支持它,就不能忽略它。如果注解包含两个或多个日历注解且其中一个是关键的,Temporal解析器将抛出错误。请注意,YYYY-MM-DD始终被解释为 ISO 8601 日历日期,然后转换为指定的日历。
作为输入,你可以选择性地包含时间、偏移量和时区标识符,格式与 PlainDateTime 相同,但它们将被忽略。[key=value] 格式的其他注解也将被忽略,且它们不得带有关键标志。
序列化时,你可以配置是否显示日历 ID,以及是否为其添加关键标志。
构造函数
Temporal.PlainYearMonth()实验性-
通过直接提供底层数据来创建新的
Temporal.PlainYearMonth对象。
静态方法
Temporal.PlainYearMonth.compare()实验性-
返回一个数字(-1、0 或 1),指示第一个年月是早于、等于还是晚于第二个年月。等同于比较其底层 ISO 8601 日期。如果两个不同日历的年月在相同的 ISO 日期开始,则可能被视为相等。
Temporal.PlainYearMonth.from()实验性-
从另一个
Temporal.PlainYearMonth对象、一个具有年和月属性的对象或一个 RFC 9557 字符串创建新的Temporal.PlainYearMonth对象。
实例属性
这些属性在 Temporal.PlainYearMonth.prototype 上定义,并由所有 Temporal.PlainYearMonth 实例共享。
Temporal.PlainYearMonth.prototype.calendarId实验性-
返回一个字符串,表示用于解释内部 ISO 8601 日期的日历。
Temporal.PlainYearMonth.prototype.constructor-
创建实例对象的构造函数。对于
Temporal.PlainYearMonth实例,初始值是Temporal.PlainYearMonth()构造函数。 Temporal.PlainYearMonth.prototype.daysInMonth实验性-
返回一个正整数,表示此日期所在月份的天数。依赖于日历。
Temporal.PlainYearMonth.prototype.daysInYear实验性-
返回一个正整数,表示此日期所在年份的天数。依赖于日历。对于 ISO 8601 日历,这是 365,闰年是 366。
Temporal.PlainYearMonth.prototype.era实验性-
返回一个日历特定的、小写字符串,表示此年月的纪元,如果日历不使用纪元(例如 ISO 8601),则返回
undefined。era和eraYear一起唯一标识日历中的一年,就像year一样。日历依赖。对于公历,它是"gregory"或"gregory-inverse"。 Temporal.PlainYearMonth.prototype.eraYear实验性-
返回一个非负整数,表示此年月在纪元中的年份,如果日历不使用纪元(例如 ISO 8601),则返回
undefined。年份索引通常从 1(更常见)或 0 开始,纪元中的年份可以随时间递减(例如,公历 BCE)。era和eraYear一起唯一标识日历中的一年,就像year一样。日历依赖。 Temporal.PlainYearMonth.prototype.inLeapYear实验性-
返回一个布尔值,指示此年月是否在闰年。闰年是指比普通年多几天(由于闰日或闰月)的年份。日历依赖。
Temporal.PlainYearMonth.prototype.month实验性-
返回一个正整数,表示此年月在一年中的基于 1 的月份索引。这一年的第一个月是
1,最后一个月是monthsInYear。日历依赖。请注意,与Date.prototype.getMonth()不同,该索引是基于 1 的。如果日历有闰月,则具有相同monthCode的月份可能在不同年份具有不同的month索引。 Temporal.PlainYearMonth.prototype.monthCode实验性-
返回一个日历特定的字符串,表示此年月的月份。日历依赖。通常是
M加上两位数的月份编号。对于闰月,它是前一个月份的代码后跟L。如果闰月是该年的第一个月,则代码是M00L。 Temporal.PlainYearMonth.prototype.monthsInYear实验性-
返回一个正整数,表示此日期所在年份的月份数。依赖于日历。对于 ISO 8601 日历,这总是 12,但在其他日历系统中可能会有所不同。
Temporal.PlainYearMonth.prototype.year实验性-
返回一个整数,表示此年月相对于日历特定纪元年开始的年份数。日历依赖。通常,第 1 年是最新纪元的第一年或 ISO 8601 年
0001。如果纪元在年中,则该年在纪元开始日期前后将具有相同的值。 Temporal.PlainYearMonth.prototype[Symbol.toStringTag]-
Symbol.toStringTag属性的初始值是字符串"Temporal.PlainYearMonth"。此属性用于Object.prototype.toString()。
实例方法
Temporal.PlainYearMonth.prototype.add()实验性-
返回一个新的
Temporal.PlainYearMonth对象,表示此年月按给定持续时间(以可由Temporal.Duration.from()转换的形式)向前移动。 Temporal.PlainYearMonth.prototype.equals()实验性-
如果此年月的值等同于另一个年月(以可由
Temporal.PlainYearMonth.from()转换的形式),则返回true,否则返回false。它们通过其底层 ISO 日期值和日历进行比较,因此两个不同日历的年月可能被Temporal.PlainYearMonth.compare()视为相等,但不能被equals()视为相等。 Temporal.PlainYearMonth.prototype.since()实验性-
返回一个新的
Temporal.Duration对象,表示从另一个年月(以可由Temporal.PlainYearMonth.from()转换的形式)到此年月的持续时间。如果另一个月份在此月份之前,则持续时间为正,如果之后,则为负。 Temporal.PlainYearMonth.prototype.subtract()实验性-
返回一个新的
Temporal.PlainYearMonth对象,表示此年月按给定持续时间(以可由Temporal.Duration.from()转换的形式)向后移动。 Temporal.PlainYearMonth.prototype.toJSON()实验性-
返回一个字符串,以与调用
toString()相同的 RFC 9557 格式表示此年月。旨在由JSON.stringify()隐式调用。 Temporal.PlainYearMonth.prototype.toLocaleString()实验性-
返回此年月的语言敏感表示的字符串。
Temporal.PlainYearMonth.prototype.toPlainDate()实验性-
返回一个新的
Temporal.PlainDate对象,表示此年月和在相同日历系统中提供的日期。 Temporal.PlainYearMonth.prototype.toString()实验性-
返回一个字符串,以 RFC 9557 格式表示此年月。
Temporal.PlainYearMonth.prototype.until()实验性-
返回一个新的
Temporal.Duration对象,表示从此年月到另一个年月(以可由Temporal.PlainYearMonth.from()转换的形式)的持续时间。如果另一个月份在此月份之后,则持续时间为正,如果之前,则为负。 Temporal.PlainYearMonth.prototype.valueOf()实验性-
抛出
TypeError,这会阻止Temporal.PlainYearMonth实例在算术或比较操作中 隐式转换为原始值。 Temporal.PlainYearMonth.prototype.with()实验性-
返回一个新的
Temporal.PlainYearMonth对象,表示此年月的一些字段被新值替换。
规范
| 规范 |
|---|
| Temporal # sec-temporal-plainyearmonth-objects |
浏览器兼容性
加载中…