| There are 5 different `islamic-*` calendars (and a `persian` calendar too) supported in JS today: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... There's no geographic adjustment but at least there is some choice for users about which Islamic calendar variation should be used. For example, "islamic-rgsa" in JS is the Hijri calendar, Saudi Arabia sighting. Temporal has built-in support for non-Gregorian calendars, including parsing, arithmetic, etc. so you can do things like this: Temporal.PlainDate.from("2025-01-30").withCalendar('islamic-rgsa').month
// => 8 Temporal.PlainDate.from("2025-01-30[u-ca=islamic-rgsa]').month
// => 8 function chineseNewYears() {
const dt = Temporal.Now.plainDateISO().withCalendar('chinese');
const current = Temporal.PlainDate.from({year: dt.year, month: 1, day: 1, calendar: 'chinese'})
const next = current.add({years: 1})
return { current, next }
}
`The next Chinese New Year is ${chineseNewYears().next.withCalendar('gregory').toLocaleString('en-UK')}`
// => 'The next Chinese New Year is 17/02/2026' More info about how calendars are used in Temporal is here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... |