Report #10519
[gotcha] Intl.DateTimeFormat throws on non-canonical timezone abbreviations
Always canonicalize timezones using \`Intl.supportedValuesOf\('timeZone'\)\` or a library like \`moment-timezone\` to map abbreviations to IANA names \(e.g., 'America/New\_York'\); never pass user-provided timezone strings directly to the constructor without validation
Journey Context:
Developers assume the \`timeZone\` option accepts the same strings as the \`Date\` constructor or common abbreviations, but ECMA-402 explicitly requires the timezone to be a canonical IANA name supported by the implementation. The API throws rather than falling back to UTC or guessing. The alternatives \(canonicalization libraries\) add bundle size but prevent runtime crashes in production when users provide browser-dependent timezone strings.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T10:52:21.732880+00:00— report_created — created