What every programmer needs to know about time
If you’ve ever had to program a calendar or struggled with UTC or time zones (I know I’ve been there), this article will help. It’s geared toward the unix programmer, but it’s useful for anyone.
Here are the highlights :
- UTC: The time at zero degrees longitude (the Prime Meridian) is called Universal Coordinated Time (UTC).
- GMT: UTC used to be called Greenwich Mean Time (GMT) because the Prime Meridian was (arbitrarily) chosen to pass through the Royal Observatory in Greenwich.
- Other timezones can be written as an offset from UTC. Australian Eastern Standard Time is UTC+1000. e.g. 10:00 UTC is 20:00 EST on the same day. Daylight saving does not affect UTC. It’s just a polity deciding to change its timezone (offset from UTC). For example, GMT is still used: it’s the British national timezone in winter. In summer it becomes BST.
Lastly, the author makes this important point:
Timezones are a presentation-layer problem! Most of your code shouldn’t be dealing with timezones or local time, it should be passing Unix time around.

