Temporal.PlainYearMonth.prototype.toString()
Baseline Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The toString() method of Temporal.PlainYearMonth instances returns a string representing this year-month in the RFC 9557 format.
Syntax
toString() toString(options)
Parameters
-
optionsOptional - An object containing the following property:
-
calendarNameOptional - Whether to show the calendar annotation (
[u-ca=calendar_id]) in the return value. Possible values are:-
"auto"(default) - Include the calendar annotation if the calendar is not
"iso8601". The reference day is included if the calendar is not"iso8601". -
"always" - Always include the calendar annotation. The reference day is always included too.
-
"never" - Never include the calendar annotation. This makes the returned string not recoverable to the same
Temporal.PlainYearMonthinstance, although the year-month value still remains the same. The reference day is included if the calendar is not"iso8601". -
"critical" - Always include the calendar annotation, and add a critical flag:
[!u-ca=calendar_id]. Useful when sending the string to certain systems, but not useful for Temporal itself. The reference day is always included too.
-
-
Return value
A string in the RFC 9557 format representing this year-month. The calendar annotation is included as specified. The reference day is included if a calendar annotation is included or if the calendar is not "iso8601".
Exceptions
-
RangeError - Thrown if any of the options is invalid.
-
TypeError - Thrown if
optionsis not an object orundefined.
Examples
Using toString()
const ym = Temporal.PlainYearMonth.from({ year: 2021, month: 8 });
console.log(ym.toString()); // '2021-08'
const ym2 = Temporal.PlainYearMonth.from({
year: 5781,
monthCode: "M08",
calendar: "hebrew",
});
console.log(ym2.toString()); // '2021-04-13[u-ca=hebrew]'
Using options
const isoYM = Temporal.PlainYearMonth.from({ year: 2021, month: 8 });
const ym = Temporal.PlainYearMonth.from({
year: 5781,
monthCode: "M08",
calendar: "hebrew",
});
console.log(isoYM.toString({ calendarName: "auto" })); // '2021-08'
console.log(ym.toString({ calendarName: "auto" })); // '2021-04-13[u-ca=hebrew]'
console.log(isoYM.toString({ calendarName: "always" })); // '2021-08-01[u-ca=iso8601]'
console.log(ym.toString({ calendarName: "always" })); // '2021-04-13[u-ca=hebrew]'
console.log(isoYM.toString({ calendarName: "never" })); // '2021-08'
console.log(ym.toString({ calendarName: "never" })); // '2021-04-13'
console.log(isoYM.toString({ calendarName: "critical" })); // '2021-08-01[!u-ca=iso8601]'
console.log(ym.toString({ calendarName: "critical" })); // '2021-04-13[!u-ca=hebrew]'
Specifications
| Specification |
|---|
| Temporal # sec-temporal.plainyearmonth.prototype.tostring |
Browser compatibility
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
toString |
144 |
144 |
139 |
128 |
preview |
144 |
139 |
95 |
No |
No |
144 |
No |
1.4.0 |
2.7 |
26.0.0 |
See also
Temporal.PlainYearMonthTemporal.PlainYearMonth.from()Temporal.PlainYearMonth.prototype.toJSON()Temporal.PlainYearMonth.prototype.toLocaleString()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainYearMonth/toString