You probably have seen
ISO 8601 timestamps with fractional
seconds, such as this one:
% date --iso-8601=ns
However, many people don’t know ISO 8601 also allows for fractional
minutes and hours!
According to the standard, these timestamps are equivalent (rounded to a second):
Note that in contrast to common scientific usage, the decimal part is
recommended to be separated by a comma and not a full stop, although
the latter is permitted too.
However, the standard does not specify the obvious next
generalization, that is, allowing fractional days. I thus propose to
extend ISO 8601 in the following way, which does not change the
meaning of valid existing representations:
The local time representation (after the optional time designator)
may consist of only a decimal fraction, which then is interpreted as a
multiple of 24 hours.
Thus, we can write the above timestamp also like this:
Now, why would one want this? Essentially, there are three reasons:
First, it’s cute and an obvious extension of the existing format.
Second, it allows representing times of the
French Republican Calendar
in a natural way, which uses a decimal system as well: in this calendar,
the day is divided into 10 hours of 100 minutes and 100 seconds each.
Thus, the digits align directly to a decimal fraction of the whole day.
The above timestamp is then (computed using
Primidi, 1 Floréal CCXXXI (231) 7:81:37
Note that we use local time here, not Paris time. If you insist on
using Paris solar time, you need to offset 9 ISO minutes and 21 ISO seconds,
which can be approximated as
Note that ISO 8601 does not allow for specifying offsets from UTC in
seconds (another obvious oversight).
Finally, the mechanism also supports the use of
Swatch Internet Time,
a late 90s decimal time system. Here, the day is divided into 1000 beats,
and the offset is fixed UTC+1 (for the Swatch headquarters in Biel):
This is a bit more verbose than
@739 but at least it’s an
international standard already!
NP: Tristan Brusch feat. Annett Louisan—Kein Problem