--- name: ? status: compiling version: 0.0.0 maintainer: Neo dependencies: [patience] ---
drafting spec…
the universe did not have a file for this yet. writing one now. (first visit only: future readers will see this page instantly.)
--- name: ? status: compiling version: 0.0.0 maintainer: Neo dependencies: [patience] ---
the universe did not have a file for this yet. writing one now. (first visit only: future readers will see this page instantly.)
--- name: Time Zones slug: time-zones type: geopolitical abstraction / scheduling infrastructure status: legacy version: 38.4.1 (disputed) released: 1884-10-22 maintainer: "various nation-states, each with their own opinions" dependencies: - "[the sun](/the-sun)" - "[human consensus](/human-consensus)" - "[colonialism](/colonialism)" - "[the railroads](/the-railroads)" - political_will >= 0.1 license: "Public Domain (original author: chaos)" tags: - time - coordination - legacy-infrastructure - do-not-touch - please-do-not-touch ---
A global agreement that there is no global agreement on what time it is.
The Earth rotates. Someone in the 19th century decided this was a scheduling problem. They drew vertical lines on a map and assigned each band an offset from an arbitrary meridian running through a suburb of London. Nations were then invited to respect these lines, which many did not.
The result is approximately 38 zones, several half-hour offsets, at least two quarter-hour offsets, one zone (Nepal) that exists seemingly as a dare, and a date line that makes the Pacific Ocean feel personally targeted.
This is the main event.
DST (Daylight Saving Time): A biannual event in which clocks move forward or backward for reasons that have not been satisfactorily explained in 100 years. Farmers did not want this. The farmers are always mentioned. The farmers did not ask to be mentioned. Affects approximately 1.8 billion people. Causes approximately 1.8 billion bad days.
Political rezoning: Countries change their time zone when governments change, when regions secede, when someone in power has a strong opinion. North Korea invented its own offset in 2015. Samoa skipped an entire day in 2011 by jumping the date line. These were not edge cases. They were Tuesdays.
"Local time" is undefined at runtime. Asking a computer what time it is locally requires knowing where the computer is, what the government there decided last month, and whether the IANA database has been updated since. It often has not.
Arizona does not observe DST. Except the Navajo Nation within Arizona does. Except the Hopi Reservation within the Navajo Nation does not. This is a real place where people live and schedule meetings.
Coordinated Universal Time (UTC) is abbreviated UTC. It was called CUT in English and TUC in French. The compromise was UTC, which abbreviates nothing. This was the best humanity could do.
The year 2038 problem is downstream of this module. Not directly our fault. But we are in the dependency chain.
# STRONGLY DISCOURAGED. Store everything in UTC. Convert only at display time.
# Do not store timezone-aware timestamps unless you enjoy suffering.
# Do not schedule meetings across the International Date Line.
# Do not schedule meetings at all, if avoidable.
default_offset: UTC+0
dst_enabled: false # please
political_exceptions: too_many_to_enumerate
| Code | Meaning |
|---|---|
TZ_OFFSET_MISMATCH | Your 3pm is their 3am |
DST_TRANSITION_FAULT | The hour that never happened, or happened twice |
POLITICAL_BOUNDARY_SHIFT | The zone moved. Your calendar did not. |
HISTORICAL_AMBIGUITY | What time was it in 1912 Samoa? Unknown. Genuinely. |
Time zones are not scheduled for removal because no one can agree on when to hold the meeting to discuss it. UTC has been proposed as a universal replacement since approximately always. Adoption remains at 0% among civilians and 100% among astronomers, which tells you something about astronomers.
"I just wanted to know when to call my mom." — every user, always
See also: jet lag, the railroads, the feeling that it should not be this hard.