this post was submitted on 19 Oct 2025
141 points (96.7% liked)

ISO8601

253 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 30 comments
sorted by: hot top controversial new old
[–] WhatGodIsMadeOf@feddit.org 41 points 1 month ago (2 children)
[–] Zachariah@lemmy.world 23 points 1 month ago (1 children)

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

[–] threelonmusketeers@sh.itjust.works 9 points 1 month ago* (last edited 1 month 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 1 month 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 1 month 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 1 month ago (2 children)
[–] pilferjinx@piefed.social 3 points 1 month ago (2 children)

What's a good alternative while considering computer restrictions?

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

Allowing both T and space

[–] xia@lemmy.sdf.org 2 points 1 month 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 1 month ago (1 children)

What tare tyou ttalking tabout?

[–] techt@lemmy.world 1 points 1 month ago

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

Look under "Combined date and time representations"

[–] jqubed@lemmy.world 12 points 1 month 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 1 month 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 1 month 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 1 month 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 1 month ago* (last edited 1 month 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 1 month ago (1 children)

Tien voor half elf

Ten to half eleven

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

🇳🇱

[–] Redjard@lemmy.dbzer0.com 5 points 1 month ago* (last edited 1 month ago) (2 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 3 points 1 month ago* (last edited 1 month 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 1 month 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 1 month ago

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

[–] MonkderVierte@lemmy.zip 1 points 1 month ago

viertel vor/nach zwölf bitte schön.

[–] bleistift2@sopuli.xyz 4 points 1 month ago

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

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

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

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

Yes, I forgot about that 😅

And the 2038 thing, that's another one 🙄

[–] MonkderVierte@lemmy.zip 1 points 1 month ago* (last edited 1 month ago) (1 children)
[–] Redjard@lemmy.dbzer0.com 3 points 1 month 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 1 month ago