The same maths, as an API
Everything the pages compute is available as a call. Zone information, duration breakdowns, business-day counting and date parsing are one adapter, reachable over HTTP and as an MCP tool.
zoneInfo is the interesting one
It answers with the wall clock, the computed offset in minutes, whether daylight saving is in force, and the exact instant the offset next changes. The offset is in minutes rather than hours on purpose: Nepal is 345 and the Chatham Islands 765, and anything that divides by sixty is wrong for a country apiece.
An unknown zone refuses rather than guesses
Passing a zone the database does not contain returns a 404, not a quiet fall back to UTC. A wrong time is indistinguishable from a right one on screen, so the only safe failure is a loud one.
Questions
Where do the time zones come from?
From the IANA time-zone database, through your own browser and our build runtime rather than a list we typed out. This build was made against tzdata 2025b, which names 418 zones. We show that version because a stale time-zone database is a wrong answer that looks completely right.
Why is Nepal not a whole number of hours?
Because time zones are political rather than geometric. Nepal is UTC+5:45, India UTC+5:30, and the Chatham Islands UTC+12:45. Any converter built on whole hours is wrong for entire countries, which is why nothing here rounds.