#3194·dayjs

tz.guess() returns deprecated IANA alias "Asia/Calcutta" instead of canonical "Asia/Kolkata"

Author: jasminbhesaniyajbCreated Aug 31, 2026Updated Aug 31, 2026

This is technically an environment/Intl issue, not strictly a dayjs defect. The plugin source I confirmed is a pure passthrough:

r.tz.guess = function () { return Intl.DateTimeFormat().resolvedOptions().timeZone } So dayjs can't return anything other than what your OS/browser's Intl reports. It only reproduces where Intl itself returns Asia/Calcutta (older ICU, or a system/TZ set to the legacy alias). Because of this, maintainers may reasonably close it as "use Intl" / out-of-scope, or convert it to an enhancement.

I deliberately wrote it honestly — it reports the observed behavior, includes the passthrough source as evidence, and explicitly asks whether canonicalization is in scope for the plugin or should stay userland. That framing is far less likely to be dismissed than claiming a hard bug.