My avatar


Level 10 Computer Mage

Time rant

Published on 2021-05-02 by flewkey

Bob wants to talk to a group of people who live in different areas. What time standard should Bob use to schedule the call? How about Coordinated Universal Time (UTC)? It is the internationally agreed upon standard for world time, so Bob should be able to use it, right?

Unfortunately, life is not so simple. If Bob scheduled a call for “05:00 UTC”, one other person will show up on-time. The rest will try to join at 17:00 (05:00 p.m.) in whatever their local time zone is. Frustrating situations like these are responsible for countdown timers becoming so common nowadays.

This insanity has been driving people mad since the beginning of time, but this is not the fault of individual people who don’t understand what “UTC” is. This is a systemic issue which ought to be corrected. If everybody learns to read analog clocks in primary school, they should learn about time zones as well.

12-hour time and 24-hour time

In 12-hour time, the clock wraps around every 12 hours, dividing the day into two periods: “a.m.” and “p.m.”. This is terrible, as it creates ambiguity when most people and clocks tell the time. The number “12” is also used in place of the number “0” for some reason, going against how numbers usually wrap around. Seeing 12-hour time on a digital clock makes me feel nauseous.

In 24-hour time, the clock wraps around every 24 hours, once per day. That’s all there is to it.

To convert 12-hour time to 24-hour time:

  1. Add 12 hours if it is “p.m.”
  2. If the hours column is equal to 24, set it back to 0

To convert 24-hour time to 12-hour time:

  1. Subtract 12 hours if it is 13:00 or greater
  2. If the hours column is equal to 0, set it to 12

Time zones 101

A time zone is just an area that follows a time standard. However, if computers all synced to different time standards depending on the region, that would be terrible. Instead, most of them sync to Coordinated Universal Time (UTC) instead. Then, they apply a positive or negative offset to UTC before formatting the time and displaying it to users.

As far as most people should be concerned, offsets are just acronyms that represent offsets from UTC. For example, Central European Time (CET) is one hour ahead of UTC. This means that it is also represented as UTC+1 or UTC+0100. Some time zones need more than an hour of precision as well. For example, Newfoundland Standard Time (NST) is represented as UTC-3:30 or UTC-0330.

Look up your time zone on this map. Memorize the acronym and UTC offset. Also understand that it will roll forward by an hour when Daylight Saving Time (summer time in Europe) applies. This will allow you to understand UTC time in relation to your time zone.

If you can remember the acronyms for other time zones, you will also be able to convert between them in your head. This is a useful ability to have. Some common time zones in North America worth remembering are Eastern Standard Time (UTC-5), Central Standard Time (UTC-6) and Pacific Standard Time (UTC-8).


Those who made it to the end of this post can count themselves among the few capable of reading time properly. If you thought time zones were interesting, wait until you hear about timekeeping. The NIST has a great page describing how time standards are kept. The rabbit hole goes deep.

Articles from blogs that I like


It kind of crept up on me. One day, sitting at my workstation, I stopped typing, stared blankly at the screen for a few seconds, and a switch flipped in my head. On the night of New Year’s Eve, my backpack was stolen from me on the train from Berlin to Amste…

From Drew DeVault's blog
Published on May 1, 2023

When optimizations make the code worse, aka GCC and Clang are fucking retarded.

Both GCC and Clang are obsessed with constant / value range propagation. Unfortunately they are far too stupid to actually apply such optimizations appropriately. A common pattern that both compilers completely fuck up is testing a pointer for NULL and … …

From DeadFish Shitware
Published on January 16, 2022

What I've Learned About Formal Methods In Half a Year

I started working on my master's degree last September. The goal was to return to my workplace as a domain expert in formal methods – a topic I knew I was interested in, and yet something I knew practically nothing about. I partially attribute my lack…

From Jakob's Personal Webpage
Published on January 1, 0001

Generated with the spectacular power of openring