This feature is not Baseline because it does not work in some of the most widely-used browsers.
The toPlainDate() method of Temporal.PlainMonthDay instances returns a new Temporal.PlainDate object representing this month-day and a supplied year in the same calendar system.
toPlainDate(yearInfo)
yearInfoAn object representing the year component of the resulting PlainDate, containing the following properties (in the order they are retrieved and validated):
era and eraYearA string and an integer that correspond to the era and eraYear properties. Are only used if the calendar system has eras. era and eraYear must be provided simultaneously. If they are not provided, then year must be provided. If all of era, eraYear, and year are provided, they must be consistent.
yearCorresponds to the year property.
A new Temporal.PlainDate object representing the date specified by this month-day and the year in yearInfo, interpreted in the calendar system of this month-day.
RangeErrorThrown if any of the options is invalid.
TypeErrorThrown if yearInfo is not an object.
const md = Temporal.PlainMonthDay.from("07-01");
const date = md.toPlainDate({ year: 2021 });
console.log(date.toString()); // 2021-07-01
const md2 = Temporal.PlainMonthDay.from("2021-07-01[u-ca=japanese]");
const date2 = md2.toPlainDate({ era: "reiwa", eraYear: 1 });
console.log(date2.toString()); // 2019-07-01[u-ca=japanese]
| 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 | |
toPlainDate |
144 | 144 | 139 | No | No | 144 | 139 | No | No | No | 144 | No | ? | 1.40 | No |
© 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/PlainMonthDay/toPlainDate