Time Zones Are Weird: A Developer-Friendly Tour of Earth's 438+ Local Times
Exploring the fascinating complexity of global time zones, from fractional offsets to daylight saving chaos, and how to handle them in software
Exploring the fascinating complexity of global time zones, from fractional offsets to daylight saving chaos, and how to handle them in software
Last updated August 1 2025
Did you know that Swift's TimeZone.knownTimeZoneIdentifiers returns 438 values? That's 18 times the "24-time-zones-around-the-globe" posters we grew up with. Here's why, and what every engineer (or trivia lover) should know about the wonderfully messy world of civil time.
Click below to load the embedded presentation.
| Category | Count | Examples |
|---|---|---|
| Whole-hour offsets | 27 | New York (UTC-5), Tokyo (UTC+9) |
| Half-hour offsets | 9 | India (UTC+5:30), Newfoundland (UTC-3:30) |
| Quarter-hour offsets | 3 | Nepal (UTC+5:45), Chatham Islands (UTC+12:45) |
| Daylight-Saving variants* | 284 (ish) | U.S., Europe, parts of Australia |
*If you treat each DST switch as a "new" zone, the number balloons. The IANA database, which macOS / iOS rely on, currently tracks ~438 distinct identifiers to cover historical and political quirks.
For a full list of fractional zones, TimeandDate.com maintains a handy table.
For a current map, see TimeandDate's DST atlas.
Until 2006, some counties observed DST, others didn't; some were on Eastern Time, others on Central. TV guides were a nightmare. Today the state is mostly Eastern, but a dozen counties near Chicago & Evansville still run on Central.
With no "sunrise" cues, research stations pick whatever time suits flight logistics. The U.S. Amundsen-Scott South Pole Station follows New Zealand time (UTC+12 / +13) because that's where supply planes originate.
Spans five geographical zones but uses a single civil time: Beijing Time (UTC+8). In Xinjiang, many locals run an unofficial UTC+6 "Xinjiang Time" for daily life, so a 9 AM appointment might be 11 AM Beijing Time.
In 1995 Kiribati shifted its eastern islands from UTC-10 to UTC+14, dragging the date line eastward so the whole country shares one calendar day. Result: Kiribati is first to ring in the New Year each January 1. Read the backstory.
| Issue | Why it bites | What to do |
|---|---|---|
| Ambiguous times | 2025-11-02 01:30 happens twice in New York when clocks fall back. | Store timestamps in UTC; use local time only for display. |
| "Non-existent" times | 2025-03-09 02:30 never exists in L.A.: clocks jump to 03:00. | Let date-parsing APIs throw errors; never build your own parser. |
| Political changes | Russia killed DST in 2014; Turkey adopted permanent DST in 2016. | Ship the latest IANA tzdata with each app update. |
| Hard-coded abbreviations | "EST" is ambiguous (Eastern Standard vs. Australian Eastern Standard). | Prefer numeric offsets (UTC−05:00), or use localized long names from the OS. |
| Assuming 24 zones | Scheduling across India (+5:30) or Nepal (+5:45) breaks. | Treat offsets as arbitrary HH:mm in your database schema. |
Apple's guide NSDate and Calendars is an excellent deep dive.
The world runs on a patchwork of conventions stitched together by history, geography, and the occasional airline route. Embrace the chaos, and let your software (and next trivia night) handle it with grace.
Have another favorite time-zone oddity? Drop it in the comments; just don't call it Greenwich Mean Time in July 😉