this post was submitted on 19 Oct 2025
139 points (96.6% liked)

ISO8601

251 readers
1 users here now

Community dedicated to the international standard YYYY-MM-DD date format.

founded 2 years ago
MODERATORS
 

Some years ago in a chain of discussion the more typical simple pyramid representation of date formats was improved to incorporate every (big and) little detail of the various formats accurately.

The annotated regions of usage are debated however.

The first insight is that numbers themselves are ordered most to least significant, that's why every numeric element is sloped top to bottom. This shows why dd.mm.yyyy is not well-ordered, even ignoring the time component.

Then, am/pm is actually its own segment of the time notation when it is used, and as the biggest is misplaced when put after time.
Put between date and time it is still inefficient, but at least placed in order (and is alphabetically sorted).

Another neat detail is the quirk of 12h time to call the first hour 12 instead of 00. This is represented by the lowest section of the hour bar spiking to be the widest.

One remaining inaccuracy is that the width of the bars does not match their encoded amount of information. It would be sensible to have the day be 5x wider than am/pm, and the (4 digit) years 2.6x as wide as the days, but alas that would be too impractical for such a well-designed infographic.

I inverted the original because I prefer darkmode. Here is the originalI cast retinal damage

top 29 comments
sorted by: hot top controversial new old
[–] WhatGodIsMadeOf@feddit.org 41 points 3 weeks ago (2 children)
[–] Zachariah@lemmy.world 23 points 3 weeks ago (1 children)

https://www.rfc-editor.org/rfc/rfc3339 is the open standard alternative (ISO is proprietary)

[–] threelonmusketeers@sh.itjust.works 9 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

!rfc3339@programming.dev

ISO is proprietary

How can YYYY-MM-DD be proprietary? Am I supposed to be paying someone every time I write the date or something?

[–] evasive_chimpanzee@lemmy.world 4 points 3 weeks ago (1 children)

You know YYYY-MM-DD, but there could be edge cases you don't know off the top of your head (leap days, time zones, daylight savings, etc) that you might have to look up.

Theoretically, if you were a programmer working to implement it in your organization's code, and you had to look up the standard, it would be behind a paywall. Organizations often have subscriptions like for journal papers.

[–] Redjard@lemmy.dbzer0.com 1 points 3 weeks ago

Good thing is that iso8601 is so monstrously complex with so many obscure formats you probably don't want anyway, that you're better off following another standard.
HTML has a set of allowed formats for example that includes parts of rfc3339 and of iso8601, but also stuff like the 'most basic' "yyyy-mm-dd hh:mm:ss", which is neither in rfc (which requires a trailing Z) nor in iso (which needs the T).

[–] xia@lemmy.sdf.org 9 points 3 weeks ago (2 children)
[–] pilferjinx@piefed.social 3 points 3 weeks ago (2 children)

What's a good alternative while considering computer restrictions?

[–] Redjard@lemmy.dbzer0.com 3 points 3 weeks ago

Allowing both T and space

[–] xia@lemmy.sdf.org 2 points 3 weeks ago

As a separator, I've found an at-sign or underscore to be more readable.

For my next project I may forego date formatting altogether and just use a decimal unix time. That way, systems that use whole seconds and those that use milliseconds both can get along, and it is less "earth centric" and not time-zone-ambiguous.

[–] WhatGodIsMadeOf@feddit.org 2 points 3 weeks ago (1 children)

What tare tyou ttalking tabout?

[–] techt@lemmy.world 1 points 3 weeks ago

https://en.wikipedia.org/wiki/ISO_8601

Look under "Combined date and time representations"

[–] jqubed@lemmy.world 12 points 3 weeks ago (1 children)

The way I look at it, if I were looking for a date in a calendar, I’m not going to start with the day, find the day and look for the right month, then look for the correct year. I’ll start with the year I’m looking for, go to the correct month, then finally locate the day in question.

[–] yobasari@feddit.org 7 points 3 weeks ago (1 children)

In most cases in everyday life the year and month will be the the same as the current ones so the correct year and month wil already be open on most calenders. So looking for the day first does make sense as well.

[–] Feathercrown@lemmy.world 2 points 3 weeks ago

But you would never look for the day, then flip to a different month while keeping the same day. And if you're already on the right month, you have completed the step of finding it, because you can verify it's already open before finding the right day. YMD is the correct search order.

[–] bleistift2@sopuli.xyz 10 points 3 weeks ago (1 children)

Now remember how fucked-up numbers are represented in different languages, for instance eight-and-twenty in German, and you can shove these nice stacks through the blender once more.

[–] Redjard@lemmy.dbzer0.com 4 points 3 weeks ago* (last edited 3 weeks ago) (2 children)

Let's for the sake of sanity assume these are only ever written down never pronounced.
Else one and the same notation would perform differently based on who is reading it.

Germany if memory serves has a minor movement advocating use of "twenty-eight" instead of "eight-and-twenty" for example.

Edit: English isn't exactly innocent either with their teens, german at least is consistently inverted. The hundreds and thousands however could be inverted with nine-teen-hundred or could be correct with one-thousand-nine-hundred

[–] monogram@feddit.nl 6 points 3 weeks ago (1 children)

Tien voor half elf

Ten to half eleven

10m - (30m - 11:00) = 10:20

🇳🇱

[–] Redjard@lemmy.dbzer0.com 5 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

"viertel zwölf"

quarter twelve

archaic runes I cannot hope to comprehend

I am however assured by sources it means 11:15

edit: switched :45 to :15 examle as it is even worse

[–] gramie@lemmy.ca 2 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

I think that in some parts of Germany, viertel zwölf means 12:15, but in others it means 11:45. Just to keep things interesting!

I learned the latter near Frankfurt, 40 years ago, and the former in Eastern Germany this year.

[–] Redjard@lemmy.dbzer0.com 3 points 3 weeks ago (1 children)

I think those require a "vor" and "nach" respectively.
"viertel zwölf" seems to reliably mean 11:15 unless maybe it's a casual shortening both sides are aware of. If you go to a random person and tell them viertel zwölf they probably won't understand, but if they do they should think 11:15.

"viertel zwölf" (quarter twelve) = 11:15
"viertel vor zwölf" (quarter to twelve) = 11:45
"viertel nach zwölf" (quarter past twelve) = 12:15

[–] gramie@lemmy.ca 1 points 2 weeks ago

No, these usages specifically don't use "vor" and "nach". Presumably idiomatic spoken German

[–] bleistift2@sopuli.xyz 4 points 3 weeks ago

Yes, very minor. I’ve never heard anyone using it.

[–] Feathercrown@lemmy.world 7 points 3 weeks ago* (last edited 3 weeks ago)

I like that this includes the weirdness around using 12 instead of 0 for hours

[–] SeductiveTortoise@piefed.social 3 points 3 weeks ago (2 children)
[–] xia@lemmy.sdf.org 5 points 3 weeks ago (1 children)
[–] SeductiveTortoise@piefed.social 2 points 3 weeks ago

Yes, I forgot about that 😅

And the 2038 thing, that's another one 🙄

[–] MonkderVierte@lemmy.zip 1 points 3 weeks ago* (last edited 3 weeks ago) (1 children)
[–] Redjard@lemmy.dbzer0.com 3 points 3 weeks ago

You can modify your system date format to iso, then it works.

Either by modifying your locale files, or by using one of the few locales that use iso, like en_SE. You can set this only for time strings by using LC_TIME (kde supports this in its settings graphically).

[–] xia@lemmy.sdf.org 2 points 3 weeks ago