Temporal.PlainMonthDay.prototype.calendarId
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The calendarId
accessor property of Temporal.PlainMonthDay
instances returns a string representing the calendar used to interpret the internal ISO 8601 date.
For a list of commonly supported values, see Intl.Locale.prototype.getCalendars()
.
The set accessor of calendarId
is undefined
. You cannot change this property directly. There's no obvious way to create a new Temporal.PlainMonthDay
object with a different calendar that represents the same month-day, so you need to convert it to a Temporal.PlainDate
object first using toPlainDate()
, change the calendar, and then convert it back.
Examples
Using calendarId
const md = Temporal.PlainMonthDay.from("07-01");
console.log(md.calendarId); // "iso8601"; default
const md2 = Temporal.PlainMonthDay.from("2021-07-01[u-ca=chinese]");
console.log(md2.calendarId); // "chinese"
Changing calendarId
const md = Temporal.PlainMonthDay.from("07-01");
const newMD = md
.toPlainDate({ year: 2021 })
.withCalendar("chinese")
.toPlainMonthDay();
console.log(newMD.monthCode, newMD.day); // "M05" 22
const newMD2 = md
.toPlainDate({ year: 2022 })
.withCalendar("chinese")
.toPlainMonthDay();
console.log(newMD2.monthCode, newMD2.day); // "M06" 3
Specifications
Specification |
---|
Temporal proposal # sec-get-temporal.plainmonthday.prototype.calendarid |
Browser compatibility
BCD tables only load in the browser