Iso is the only way.
ISO8601
Community dedicated to the international standard YYYY-MM-DD date format.
https://www.rfc-editor.org/rfc/rfc3339 is the open standard alternative (ISO is proprietary)
!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?
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.
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).
That "T" though...
What's a good alternative while considering computer restrictions?
Allowing both T and space
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.
What tare tyou ttalking tabout?
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.
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.
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.
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.
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
Tien voor half elf
Ten to half eleven
10m - (30m - 11:00) = 10:20
🇳🇱
"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
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.
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
No, these usages specifically don't use "vor" and "nach". Presumably idiomatic spoken German
Yes, very minor. I’ve never heard anyone using it.
I like that this includes the weirdness around using 12 instead of 0 for hours
Linux: lol

Yes, I forgot about that 😅
And the 2038 thing, that's another one 🙄
date -d, but limited.
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).

Bravo.