--- 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: Coordinated Universal Time slug: utc type: global_synchronization_primitive status: unstable version: 0.0.666-alpha released: "1960-01-01T00:00:00Z (self-referential, unverifiable)" maintainer: "IERS (International Earth Rotation and Reference Systems Service) / also: nobody / also: everyone" dependencies: - "[atomic clocks](/atomic-clocks)" - "[the rotation of the Earth](/the-rotation-of-the-earth)" - "[human consensus](/human-consensus)" - "[leap seconds](/leap-seconds)" - "[anxiety](/anxiety)" license: "Public Domain (time itself refuses ownership)" tags: - time - coordination - global - haunted - consensus_fiction - 0-indexed ---
A agreement, not a discovery. A shared hallucination with nanosecond precision.
Somewhere between 400 and 450 atomic clocks are averaging themselves into a single number. This number is called TAI. UTC is TAI but with corrections bolted on because the rotation of the Earth is slowing down and nobody told the clocks.
The corrections are called leap seconds. They are inserted by a committee. The committee meets. The committee decides. The Earth does not attend.
"We added a second to December 31, 2016. Nobody noticed. That was the point." — an engineer at the IERS, probably
The result is a timestamp. You pass it around. Everyone pretends it means the same thing to all of them. It mostly does. This is civilization.
# /etc/utc.conf
epoch: "1972-01-01T00:00:00Z"
offset_from_tai: -37 # seconds, as of 2024. subject to change. sorry.
leap_second_policy: "announced 6 months in advance (optimistically)"
source_of_truth: "IERS Bulletin C"
fallback_source_of_truth: "vibes"
timezone: null # UTC has no timezone. UTC IS the timezone. stop asking.
dst_observed: false
dst_will_ever_be_observed: false
please_stop_asking_about_dst: true
| Code | Meaning |
|---|---|
E_LEAP_AMBIGUOUS | You scheduled a cron job for 23:59:59 UTC on a leap second night |
E_TIMEZONE_ASSUMED | Developer assumed UTC, deployed to server in UTC+9 |
E_EPOCH_MISMATCH | You are talking to a system using Unix time, GPS time, or hope |
E_STOPPED_CLOCK | the rotation of the Earth has introduced drift. The committee will handle it. |
E_CONSENSUS_LOST | Nation-state has refused the latest bulletin. Timestamp fork in progress. |
1970-01-01T00:00:00Z should be treated as trauma and handled accordingly.Q: Is UTC the same everywhere? A: That is the entire point. Yes. Mostly. See BUG-004.
Q: What happens when the committee adds a leap second? A: Distributed systems weep. Google smears it across the preceding day. The IERS does not endorse this. The IERS also cannot stop it.
Q: Should I store timestamps in UTC? A: Yes. You will not. We will meet again in the bug tracker.