151
submitted 3 months ago* (last edited 3 months ago) by Redjard@lemmy.dbzer0.com to c/iso8601@lemmy.sdf.org

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

all 30 comments
sorted by: hot top new old
[-] WhatGodIsMadeOf@feddit.org 44 points 3 months ago
[-] Zachariah@lemmy.world 24 points 3 months ago

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

[-] threelonmusketeers@sh.itjust.works 9 points 3 months ago* (last edited 3 months ago)

!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 months ago

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 months 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 10 points 3 months ago
[-] pilferjinx@piefed.social 3 points 3 months ago

What's a good alternative while considering computer restrictions?

[-] Redjard@lemmy.dbzer0.com 3 points 3 months ago

Allowing both T and space

[-] xia@lemmy.sdf.org 2 points 3 months 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 months ago

What tare tyou ttalking tabout?

[-] techt@lemmy.world 1 points 3 months ago

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

Look under "Combined date and time representations"

[-] jqubed@lemmy.world 12 points 3 months ago

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 8 points 3 months ago

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 months 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 months ago

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 months ago* (last edited 3 months ago)

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

[-] bleistift2@sopuli.xyz 4 points 3 months ago

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

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

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

[-] SeductiveTortoise@piefed.social 2 points 3 months ago
[-] xia@lemmy.sdf.org 5 points 3 months ago
[-] SeductiveTortoise@piefed.social 3 points 3 months ago

Yes, I forgot about that 😅

And the 2038 thing, that's another one 🙄

[-] MonkderVierte@lemmy.zip 1 points 3 months ago* (last edited 3 months ago)
[-] Redjard@lemmy.dbzer0.com 3 points 3 months 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 months ago
this post was submitted on 19 Oct 2025
151 points (96.9% liked)

ISO8601

257 readers
1 users here now

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

founded 2 years ago
MODERATORS