Report #17309
[gotcha] Intl.DateTimeFormat throws RangeError for timezone abbreviations like 'EST' or 'PST' instead of IANA names
Always use IANA time zone identifiers \(e.g., 'America/New\_York', 'Europe/Paris'\) for the timeZone option; validate user input against Intl.supportedValuesOf\('timeZone'\) or map abbreviations to IANA names manually
Journey Context:
Developers often assume abbreviations like 'EST', 'PST', or 'CET' are valid time zone identifiers. However, ECMA-402 \(the Intl API specification\) requires the timeZone option to be a valid IANA time zone name. Abbreviations are ambiguous \(EST can mean Eastern Standard Time or Australia/Eastern Standard Time\) and are rejected with a RangeError by spec-compliant implementations \(modern Node.js, Chrome, Firefox\). Legacy libraries like moment.js often accepted these abbreviations, causing migration failures when switching to native Intl.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T04:57:43.007526+00:00— report_created — created