Introducing ISO 8601
04 Sep 2013
I’m a little bit in shock. Somebody just phoned me up to verify my date of birth which I had written on a form for a significant and very well respected UK organisation. The odd thing was after verifying my date of birth (which they had incidentally managed to interpret correctly) the civil servant went on to lecture me into writing the date “in the normal way” in future!
Just so we’re clear: The “normal way” of representing a date of the Gregorian Calendar is that defined by the International Standards Organisation under document 8601:2004 (correct at the time of writing).
The general principles of the format are (extract from Wikipedia):
- Date and time values are ordered from the most to the least significant: year, month (or week), day, hour, minute, second, and fraction of second. The lexicographical order of the representation thus corresponds to chronological order, except for date representations involving negative years. This allows dates to be naturally sorted by, for example, file systems.
- Each date and time value has a fixed number of digits that must be padded with leading zeros.
- Representations can be done in one of two formats – a basic format with a minimal number of separators or an extended format with separators added to enhance human readability. The standard notes that “The basic format should be avoided in plain text.” The separator used between date values (year, month, week, and day) is the hyphen, while the colon is used as the separator between time values (hours, minutes, and seconds). For example, the 6th day of the 1st month of the year 2009 may be written as “2009-01-06” in the extended format or simply as “20090106” in the basic format without ambiguity.
- For reduced precision, any number of values may be dropped from any of the date and time representations, but in the order from the least to the most significant. For example, “2004-05” is a valid ISO 8601 date, which indicates May (the fifth month) 2004. This format will never represent the 5th day of an unspecified month in 2004, nor will it represent a time-span extending from 2004 into 2005.
- If necessary for a particular application, the standard supports the addition of a decimal fraction to the smallest time value in the representation.
This is the standard to which I follow. However, I would have been happy to represent the date in a format which was preferred by the organisation, but since they did not define one I’m at a loss to understand how this is my failing.
Feel free to share!