Time Zone
Civil time is a political layer over solar time, and its rules change often enough to be data.
A time zone is a region that agrees to keep the same civil clock. Before railways and telegraphy, towns kept local solar time and noon differed by minutes between neighbors. Standard zones made timetables possible, and the resulting offsets are political rather than astronomical: they follow borders, they are not all whole hours — several places sit at thirty- or forty-five-minute offsets — and governments change them by decree, sometimes weeks in advance.
Civil time is now defined as an offset from UTC, an atomic timescale nudged to track the Earth's rotation. An offset alone is not a zone. A zone is a rule set spanning history: which offset applied in which years, and when daylight saving started and stopped. Those rules live in the IANA tz database, shipped by operating systems through the ordinary Package Manager and updated several times a year. A machine running stale data computes wrong local times with no error raised — Silent Failure in its purest form. Minimal container images often ship no zone data and default to UTC, so the same code behaves differently under Containerization than on a workstation, and TZ is worth pinning as an explicit Environment Variable.
Transitions break assumptions. Springing forward makes local times that never occur; falling back makes local times that occur twice. A task defined in local time can be skipped or run twice, so anything driven by Cron should be safe to repeat — see Idempotence. Tests that pass in one zone and fail in another are a standard Flaky Test, and pinning the zone is a precondition for Determinism in anything date-bearing.
Abolishing daylight saving would end future transitions but not the problem: historical timestamps still need historical rules, and offsets still vary with longitude. Like Character Encoding, the complexity is in the world, not the software.
See also5
Ground Truth
The measurement that arbitrates, as opposed to the artifact that merely reports.
Method99 connections
Root Cause Analysis
Escalating past the visible symptom until you find the layer that actually produced it.
Method49 connections
Defensive Default
A substituted value that papers over a missing input and hides the misconfiguration that produced it.
Method16 connections
Inertial Frame of Reference
A coordinate system in which an undisturbed body moves at constant velocity, and none is privileged.
Matter & Energy13 connections
Dual Boot
Installing two or more operating systems on one computer and choosing between them at startup, a common way to keep Windows for some tasks and Linux for others, with recurring friction over bootloaders, clocks and shared disks.
Systems & Tooling9 connections
Linked from9
- Date PickerDesign & Interface
An interface control for entering a date, usually a calendar grid, which suits booking next week's appointment and frustrates anyone entering a birthday, with time zones and regional formats hiding classic bugs underneath.
- DotfilesSystems & Tooling
A tracked repository of personal configuration, making a machine setup reproducible.
- Dual BootSystems & Tooling
Installing two or more operating systems on one computer and choosing between them at startup, a common way to keep Windows for some tasks and Linux for others, with recurring friction over bootloaders, clocks and shared disks.
- Fake ClockTesting & Verification
Replacing the real clock in tests with one the test controls, so time-dependent code can be checked at midnight, across DST, or after an hour of retries without waiting.
- Inertial Frame of ReferenceMatter & Energy
A coordinate system in which an undisturbed body moves at constant velocity, and none is privileged.
- Segmented SleepBody & Medicine
The claim that pre-industrial night sleep came in two blocks separated by a waking interval, and the dispute over how general that was.
- Symbolic LinkSystems & Tooling
A file that points at another path, resolved transparently by most operations.
- Test IsolationTesting & Verification
The property that each test passes or fails on its own, regardless of which other tests run, in what order, or in parallel.
- XDG Base Directory SpecificationSystems & Tooling
A convention placing configuration, data, cache, and state in defined directories rather than the home directory.