The IANA Time Zone Database — also called the tz database, zoneinfo, or Olson database (after its original maintainer, Arthur Olson) — is the authoritative global catalog of time zone rules. It powers the time calculations on your phone, your laptop, your server, and most software you use every day.
What It Contains
The database is a set of plain-text files that describe the time zone rules for every region on Earth, going back to the adoption of standard time in the late 19th century. For each zone, it records every historical change: when a country adopted DST, when it abolished it, when it shifted its UTC offset, and when political events (independence, annexation, partition) changed the applicable rules.
The data is organized into zone files (one per continent/ocean region) that list transitions for each named zone, and rule files that define DST patterns. These text files are compiled into binary 'zoneinfo' files by a tool called zic (zone information compiler).
How Software Uses It
On Unix-like systems (Linux, macOS, Android, iOS), the compiled zoneinfo files are installed at /usr/share/zoneinfo/. When your system's clock library converts a UTC timestamp to local time, it reads the appropriate zoneinfo file, finds the applicable rule for that historical moment, and returns the local time.
Programming languages and runtimes typically ship their own bundled copy of the database (Python, Node.js, Java's JDK, the JVM runtime) or rely on the OS copy. This matters for servers: a Node.js application that bundles its own tz data might apply different DST rules than the host OS if their copies are out of sync.
Update Frequency
The IANA tz database is updated several times per year — whenever a country announces a change to its DST rules or UTC offset. A country can (and sometimes does) announce changes with as little as a few weeks' notice. Kazakhstan eliminated DST in 2005 with short notice; Samoa switched sides of the Date Line in 2011; Russia has changed its DST rules multiple times. Each change requires a database update and a corresponding OS and runtime patch.
Keeping software up-to-date is the practical implication: an application running on an outdated tz database will compute wrong local times for regions that have changed their rules. For servers handling scheduling or time-sensitive data, regular OS and runtime updates are a correctness requirement, not just a security one.