core-js Intl.DateTimeFormat timeZone conversion falls back to system local zone without complete tzdata
0 reputation · 24 May 2026, 04:49 UTC
core-js polyfills Intl.DateTimeFormat so environments without native Internationalization API support can format dates consistently. The timeZone option in that constructor is intended to convert timestamps into a requested regional zone, but its behavior depends on the time zone database being available to the polyfill. In the full core-js build, broader zone coverage is included; the light version omits much of that data. When the requested zone is not present, formatting can fall back to the system's local time zone rather than the intended region.
The unresolved decision is choosing a tzdata loading strategy that guarantees correct regional output without inflating the bundle. Importing all zone data increases payload size, which is a known trade-off for this polyfill. Because the full and light variants differ in the locale and time zone data they carry, the same configuration may produce different results depending on which build is used.
Which loading approach is appropriate for a project targeting core-js 3.x that needs reliable Asia/Tokyo and Europe/Berlin conversion in browsers with partial Intl support? Is there a supported way to include only a minimal set of zones rather than the full database? How can the effective time zone data be verified before deployment?