The anatomy of time

"Time is an illusion. Lunchtime doubly so."

I designed to translate time between time zones across multiple cities simultaneously. It answers the question "when it's 9 AM in Seoul, what time is it in London and in Berlin?"

In answering this question, speaks ISO 8601 standard date time notation. This blog post describes why, and why you should too.

So why is ISO 8601 so great?

ISO 8601 describes (amongst other things) the internationally agreed standard for representing dates. Dates in this format read from the largest units (years) on the left, through progressively smaller units towards the right:


This is particularly appealing when expressing a full date and time:

2014-02-20 09:30:25

Unless you're Chinese, ISO 8601 is objectively better than however you're writing datetimes today. The year-month-day ordering is logical, and is internationally unambiguous. To illustrate, consider the British and US date formats:


20/02/2014 (09:30:25)


02/20/2014 (09:30:25)

Either one of these formats would be merely ugly in isolation; the real fun arises from their existing in parallel. In a world with both US and British formats, the first twelve days of each month cannot be read unambiguously:

Fifth of June or sixth of May?


Twelve ambiguous days per month is 144 days of confusion, and in the very worst case your misinterpreted date can be out by as many as 324 days. That could have significant implications for the best before on your prawn sandwich.

ISO 8601 means the way you parse your date times is consistent around the globe. And best of all, since the most important bits come first, should you die unexpectedly halfway through speaking an ISO 8601 date you can rest peacefully knowing you communicated as much useful information as possible.

Where did ISO 8601 go wrong?

ISO 8601's biggest failing is in leaving timezone specification optional. If no timezone is specified, ISO 8601 says you should assume it is local time, but we all know what happens when we assume things.

A time without a timezone is as dangerous as a measurement without units:


Looks like time, but in London it never happened.

And worse:


Looks like a unique moment in history, but will legitimately occur twice in Seattle.

What you can do about it?

With dates, you should start using ISO 8061 dates everywhere. At work and at home. Be a dick about it. Scribble them all over the top of primitive, non-ISO 8061 forms:

A few passport application might get rejected, but you'll wear them down eventually.

The same goes for times. At work, refuse to deal with any ambiguous time data. Always state a timezone when you're meeting your friends. If they fail to do the same when arranging to meet you, teach them the error of their ways - turn up on time, but in a different timezone. When you arrive at their home for lunch with a cheerful "It is 1 PM... in Seoul!" - they'll soon learn not to invite you to events without specifying a timezone.

Do it for yourself. Do it for your children. Do it for an unambiguous future for us all.