demo · v130

locale-aware calendar grid

The chromestatus motivation: expose week data (first day of week, weekend start/end, minimum days in first week) and text direction so apps can render culturally correct date pickers without bundling a CLDR. Pick a locale below and the grid re-flows: the first day shifts, the weekend cells move, and the ISO week numbers recompute from minimalDays.

requires Chrome 130+ for Intl.Locale.prototype.getWeekInfo() Older browsers (and older Chrome) had the accessor pattern locale.weekInfo. Chrome 130 lands the relaunch under the renamed function names (getWeekInfo, getCalendars, etc.) matching the final TC39 proposal. The page feature-detects and falls back where needed.
May 2026 direction: ltr

  

the code

const loc = new Intl.Locale("ar-SA");

// Chrome 130+ function-style API (matches the final TC39 proposal):
const w = loc.getWeekInfo();
// { firstDay: 7, weekend: [5, 6], minimalDays: 1 }
//   firstDay   = 7 (Sunday)
//   weekend    = [5, 6] = Friday, Saturday
//   minimalDays = 1 day required for "week 1"

const cals = loc.getCalendars();         // ["gregory", "islamic-umalqura", ...]
const hcs  = loc.getHourCycles();        // ["h12", "h23"]
const ts   = loc.getTimeZones();         // ["Asia/Riyadh"]
const ns   = loc.getNumberingSystems();  // ["arab"]
const dir  = loc.getTextInfo().direction; // "rtl"

// Render a calendar whose first column is firstDay, with
// weekend bands matching weekend[].

see also