Temporal.PlainYearMonth.prototype.toString()

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

toString() 方法是 Temporal.PlainYearMonth 实例的,它返回一个字符串,该字符串表示此年月(year-month)的 RFC 9557 格式

语法

js
toString()
toString(options)

参数

options 可选

包含以下属性的对象

calendarName 可选

是否在返回值中显示日历注释 ([u-ca=calendar_id])。可能的值是:

"auto"(默认值)

如果日历不是 "iso8601",则包含日历注解。如果日历不是 "iso8601",则包含参考日。

"always"

始终包含日历注解。参考日也始终包含。

"never"

从不包含日历注解。这使得返回的字符串无法恢复到相同的 Temporal.PlainYearMonth 实例,尽管年月值保持不变。如果日历不是 "iso8601",则包含参考日。

"critical"

始终包含日历注解,并添加一个关键标志:[!u-ca=calendar_id]。在将字符串发送到某些系统时很有用,但对 Temporal 本身无用。参考日也始终包含。

返回值

一个 RFC 9557 格式 的字符串,表示此年月。日历注解按指定包含。如果包含日历注解或日历不是 "iso8601",则包含参考日。

异常

RangeError

如果任何选项无效,则抛出。

TypeError

如果 options 不是对象或 undefined,则抛出错误。

示例

使用 toString()

js
const ym = Temporal.PlainYearMonth.from({ year: 2021, month: 8 });
console.log(ym.toString()); // '2021-08'

const ym2 = Temporal.PlainYearMonth.from({
  year: 4658,
  monthCode: "M08",
  calendar: "chinese",
});
console.log(ym2.toString()); // '2021-09-07[u-ca=chinese]'

使用选项

js
const isoYM = Temporal.PlainYearMonth.from({ year: 2021, month: 8 });
const ym = Temporal.PlainYearMonth.from({
  year: 4658,
  monthCode: "M08",
  calendar: "chinese",
});
console.log(isoYM.toString({ calendarName: "auto" })); // '2021-08'
console.log(ym.toString({ calendarName: "auto" })); // '2021-09-07[u-ca=chinese]'
console.log(isoYM.toString({ calendarName: "always" })); // '2021-08-01[u-ca=iso8601]'
console.log(ym.toString({ calendarName: "always" })); // '2021-09-07[u-ca=chinese]'
console.log(isoYM.toString({ calendarName: "never" })); // '2021-08'
console.log(ym.toString({ calendarName: "never" })); // '2021-09-07'
console.log(isoYM.toString({ calendarName: "critical" })); // '2021-08-01[!u-ca=iso8601]'
console.log(ym.toString({ calendarName: "critical" })); // '2021-09-07[!u-ca=chinese]'

规范

规范
Temporal
# sec-temporal.plainyearmonth.prototype.tostring

浏览器兼容性

另见