ISO 8601 date & time for the Fedora community
August 6th, 2008 — red_alertAs you may know, there’s pretty many ways to represent a date. For global communication, this might be a problem. Therefore, I ask the Fedora contributor community to react NOW, because I see mis-interpretable dates in the wiki, on the planet, on the mailing lists, on IRC and in other places all the time.
Let me try to explain why this is a problem and how we could solve it.
Problem
Little Endian (DD-MM-YYYY)
For today, you’d write 06.08.2008 in Germany, 06-08-2008 in Denmark and 06/08/2008 in India.
So far, no problem. We should be able to read the date no matter how the three parts are separated.
Middle Endian (MM-DD-YYYY)
This is used mainly in the USA. So, the date would read 08/06/2008.
Unfortunately, most people outside of the USA would read this as if it’s in little endian, i.e. 8th june 2008 – which is wrong and where the problem begins. Particularly, if you think about the wiki being dominated by the middle endian format, but a big share of the contributors coming from places where the little endian format is used (e.g. Europe, South America, India).
In both of these formats, the year can also be written as YY instead of YYYY, so we could also end up with 06/08/08 and 08/06/08 – even more possible confusion!
Big Endian (YYYY-MM-DD)
Of course, there’s also a third writing. Used in places like China, Japan and the Middle East.
The good thing here is, that the year is always 4 numbers long and therefore easy to identify. Even better is, that no-one on the world uses YYYY-DD-MM, meaning that dates starting with the year can’t be misinterpreted.
And there’s more to it: dates in big endian can be easily sorted in chronological order, if leading zeros are used (i.e. 2008-08-06 instead of 2008-8-6).
Solution
That’s also been the thought of the ISO, when they defined the standard ISO 8601. Well, the Wikipedia article about the standard explains it all. It’s pretty simple, but because it gives several options (e.g. YYYYMMDD or YYYY-MM-DD) I’d suggest to declare what to use within the Fedora contributor community.
My recommendations
Exact date: YYYY-MM-DD
Month: YYYY-MM
Year: YYYY
Time: hh:mm or hh:mm:ss or hh:mm:ss.zz
Date and time: YYYY-MM-DDThh:mmZ (or YYYY-MM-DDThh:mm UTC)
Date interval: YYYY-MM-DD/YYYY-MM-DD or YYYY-MM-DDThh:mmZ/YYYY-MM-DDThh:mmZ
Date list: YYYY-MM-DD, YYYY-MM-DD, YYYY-MM-DD
Important
- Times are always in 24hrs format (no AM/PM).
- Times are always in UTC (Zulu time).
- T and Z are not substituted. Example: 2008-08-06T13:50Z. While T is read like the single letter, Z is often called Zulu.
- zz are fractions of a second
- Never replace – or : by anything else.
- Never write out the name of a certain month – use it’s number.
- Always use the Gregorian calendar. But I think that’s clear to everyone.
- Use your local date/time formats in communication with non-contributors (e.g. users, press, your parents, …)
Benefits
Except for the benefit of everyone being able to correctly read and understand all dates, it would be possible to automatically link dates in the wiki in YYYY-MM-DDThh:mmZ format to that world clock thingy that is used for most meetings. So the wiki would read e.g. 2008-08-06T14:20Z – and everyone’s just one click away of his local time, without any thinking or confusion. Well, I didn’t check this possibility with Fedora Infrastructur, but it should be easily possible for them since the date/time is perfectly parseable and easy to identify (always looks like *-*-*T*:*Z and has a fixed length for every *).
Conclusion
I hope I’ve been able to explain this in a way that everyone understands the issue and the proposed solution to it. If you have questions, feel free to ask (or read Wikipedia’s entry on the ISO standard).
NOW: Feel free to discuss this in the comments, on the planet, on IRC, anywhere. As long as there’s some effort going on, we’re on a good way.
I’d also ask the Fedora Board to consider this suggestion and maybe give me/all of us feedback on this.
Note: If my information about the date format used in a certain country is wrong, blame my source: Wikipedia.
