Timezones seem simple—just offsets from UTC, right? In reality, they are surprisingly complex, with historical changes, political boundaries, and seasonal adjustments. Understanding this complexity helps you build robust time-aware applications.
Timezones vs UTC Offsets
A UTC offset like +05:30 tells you the current difference from UTC. A timezone like Asia/Kolkata includes historical and future offset changes. India has always been +05:30, but most timezones have changed multiple times. Never store offsets alone—store timezone identifiers.
The IANA Timezone Database
The IANA Time Zone Database (also called tzdata or Olson database) is the authoritative source for timezone information. It uses identifiers like America/New_York and Europe/London. It includes historical data back to 1970 and is updated several times per year.
Why Timezones Change
Countries change their timezone rules regularly. Russia has changed DST rules multiple times. Egypt abolished DST, reinstated it, then abolished it again. Morocco observes DST except during Ramadan. Governments provide as little as a few weeks notice for changes.
Daylight Saving Time
DST shifts clocks forward in spring and back in fall, typically by one hour. But not all regions observe DST—Arizona, Hawaii, and most of Asia and Africa do not. DST transition dates vary by country and change periodically. Some regions have used 30-minute or 2-hour shifts.