# Timezone Truth

Convert a time between any two IANA timezones and find out what the conversion hides: local times that do not exist because a daylight-saving jump skipped them, times that occur twice because the clock went back, zone abbreviations that mean different things in different countries, and offsets that were different on the date you actually care about.

**Not for:** Does not schedule anything, and does not maintain its own timezone database — it reads the one shipped with the runtime, so historical dates before that data is reliable are reported rather than guessed. Does not parse free-form natural language dates.

## Surfaces

- HTML: `https://timezone-truth.gumballtools.com`
- Markdown: same URLs with `Accept: text/markdown` or `?format=md`
- JSON API: `https://timezone-truth.gumballtools.com/api/v1/convert`
- OpenAPI: `https://timezone-truth.gumballtools.com/.well-known/openapi.json`
- MCP: `https://timezone-truth.gumballtools.com/api/mcp`

## Worked examples

- [The local time that does not exist](https://timezone-truth.gumballtools.com/tz/time-that-does-not-exist) — On the spring-forward date, an hour of wall-clock time is skipped entirely. Anything scheduled inside it either never fires or fires at a time nobody chose.
- [The local time that happens twice](https://timezone-truth.gumballtools.com/tz/time-that-happens-twice) — When the clocks go back, an hour repeats. Two different instants have the same wall clock, and every library silently picks one.
- [New York to India](https://timezone-truth.gumballtools.com/tz/est-to-ist) — A half-hour offset zone, and why IST is never safe to write as an abbreviation.
- [Los Angeles to London](https://timezone-truth.gumballtools.com/tz/pst-to-gmt) — The classic pairing, and the two weeks a year when the gap is not eight hours.
- [New York to Tokyo](https://timezone-truth.gumballtools.com/tz/new-york-to-tokyo) — Crossing the date line: the answer is tomorrow, and Tokyo never changes its clocks.
- [London to Sydney](https://timezone-truth.gumballtools.com/tz/london-to-sydney) — Both observe daylight saving, in opposite hemispheres, so the gap between them changes four times a year.
- [Why India is half an hour off](https://timezone-truth.gumballtools.com/tz/utc-to-india-half-hour-offset) — Not every zone is a whole number of hours from UTC. Nepal is 45 minutes off.
- [The 45-minute offset](https://timezone-truth.gumballtools.com/tz/nepal-time-offset) — Kathmandu is UTC+05:45, which breaks any code that assumes whole-hour offsets.
- [Arizona does not change its clocks](https://timezone-truth.gumballtools.com/tz/arizona-does-not-change-clocks) — Most of Arizona stays on standard time all year, so its gap to the rest of the US shifts twice annually without anything changing locally.
- [When do the clocks change next?](https://timezone-truth.gumballtools.com/tz/next-dst-transition) — The next transitions for a zone, found from the runtime data rather than a table that goes stale.
- [Scheduling a meeting across three zones](https://timezone-truth.gumballtools.com/tz/meeting-across-timezones) — A 9am start in one zone, and what it costs the other participants.
- [UTC to local time](https://timezone-truth.gumballtools.com/tz/utc-to-local-conversion) — The conversion every log file needs, with the offset that applied on that date.
- [Brazil abolished daylight saving](https://timezone-truth.gumballtools.com/tz/brazil-abolished-dst) — A reminder that timezone rules are political and change. Code that hardcoded Brazilian DST broke in 2019.
- [Why writing "BST" is dangerous](https://timezone-truth.gumballtools.com/tz/why-bst-is-dangerous) — Most runtimes accept BST and resolve it to Bangladesh, UTC+6 — when nearly everyone means British Summer Time, UTC+1.

