Issue: there are 27 different ways of writing a date.
Engineers: We most make a common standard that is unambiguous, easy to understand and can replace all of these.
Issue: there are 28 different ways of writing a date.
Joke aside, I really think the iso standard for dates is the superior one!
Rich is right, since this is the date format that sorts correctly in filenames.
And it is easily extensible to YYYY-MM-DDThh:mm:ss to include the time of day
Are you an obsidian user?
Haha yep, you caught me. I’m a fan of the unique note feature
I’ve never met a fellow Templatr in the wild lol
My daily note broke and my life fell apart for a minute.
Have you also spent months building your Data Capture Workflow mermaid.js? 😅😬
Not quite months, but definitely weeks 😂 Obsidian can be such a rabbit hole. If I tweak that last template one more time, then I’ll finally be done, I swear!
So I’m like 80% done with my setup. Mostly focused on routine and habit templates, homepage wiki for pkm etc… between the plugins and css, no matter which device I’m on, it’s the slowest app I’ve ever used. This is why I pushed my old setup and started over clean with more knowledge. I don’t know how to get the customization I want without insane unusable lag
I feel called out and I’m hiding in the bushes reading comments.
It’s called feeling seen and finding you’re not alone. Do you type "# " while screen sharing in work apps to no avail and the chagrin of colleagues? It’s okay. Me too.
Won’t be true after 9999-12-31, however.
Oh no! The Y10K bug!
Can’t wait for the Y40k bug, when Tyranids begin to infect our brains.
Bold of you to assume there isn’t already a genestealer cult on Terra. Washington specifically.
That…would explain a lot
Can be solved with a small shellscript adding a leading zero to all filenames with the format.
If I, my software, or my data last this long, I will have nearly 8000 years to resolve it. Which is to say, the year 9998 is going to get busy.
natural sort ftw
If humanity survives until then, we can implement 9-digit dates and delay the problem until Y100K.
I’d be curious to see a sorting algorithm that doesn’t handle YYYYY-MM-DD with YYYY-MM-DD properly. If you drop the dashes you still get a proper numeric order. If you sort by component, you still get the proper order. Maybe a string sort wouldn’t? Off the top of my head the languages I’m thinking either put longer strings later, giving us the proper order, or could put 1YYYY- ahead of 1YYY-M so maybe string sorting is the only one that’s out.
Lexical sorting (string sorting/alphabetical order sorting) is what I believe they were referring to when talking about file names.
The fact that you don’t have to do any parsing of the string at all, just do a straight character-by-character alphabetical sort, and they will be sorted by date, is a great benifit of this date scheme. That means in situations where no special parsing is set up (eg, in a File Explorer windows showing a folders contents sorted alphabetically) or where your string isn’t strictly date only (eg, a file name format such as ‘2025-05-02 - Project 3.pdf’) you can still have everything sorted by date just by sorting alphabetically.
Its this benifit that is lost when rolling over to 5-digit years.
I bet you could make a one liner to rename files with YYYY-MM-DD to 0YYYY-MM-DD fairly easily. Not a problem.
It’s an easy fix at least, just check if you’re comparing numbers on both sides and switch to a simple numerical sort.
I think Windows used to get this wrong, but it was fixed so long ago that I’m not even sure now.
Who’s Rich? Did you mean Randall?
…dammit, the only comics I read are XKCD and OOTS and I done fucked up.
How can you sleep on Oglaf
The good ones tend to filter their way out.
(I do also read whatever John Allison is currently working on.)
Banished to back in time to hang with Ozy and Millie
Omg thank you!! Everyone sees my notes thinks I’m crazy for obsessing… It’s the correct fucking sort!
Alt text:
ISO 8601 was published on 06/05/88 and most recently amended on 12/01/04.
But… that’s not the right way. Are you saying the ISO8601 violates ISO8601?
- so, apparently not I just whooshed, I didn’t even noticed the dates are ambiguous.
The joke is that they’ve not been given in ISO8601 format, and also that they’re both ambiguous. For the second one, we can’t even tell which of the ends is the year.
Honestly Randall absolutely would put the year in the middle just to fuck with us
Publication 1988-06-05, latest amendment 2004-12-01.
I almost expected the two dates to use different formats, but no, they’re just both “the American way”.
Well you can only cram in so many jokes at once. Would have been funny though
Knowing Americans it’s probably the middle.
You found the joke
Might be the best xkcd alt text of all time. I knew if from memory, and as soon as I saw the comic I thought “I bet someone quoted the alt text in the top comment”.
I am a big fan of iso 8601, I just wish it was possible to write more dates than February 27th, 2013 with it
Harhar
Yeh but for that one day though, everything just works so well.
There are several people in the comments saying they have to use 27 Feb 2013 because they work with people all over the world. I’m really confused - what does that solve that 2013-02-13 does not? I know that not every language spells months the English way so “Dec” or “May” aren’t universal. Is there some country that regularly puts year day month that would break using ISO 8601 or RFC 3339?
I think learning all abbreviations for different months in different languages is more complicated than just learning that the time is sorted from largest to smallest unit.
No! It’s the other way around, from largest to smallest is a mess and it makes no sense
If you name files or other data with ISO 8601 then they’re always sorted chronologically when you go largest to smallest.
I know, right! I’ve been campaigning for this for everyday numbers. For example, twenty seven should be written smallest first: 72. Likewise this year is 5202, and next year 6202. That way no-one’s going to be confused at all.
What you said is stupid
So true, bestie! That’s why all the clocks in my house are formatted ss:mm:hh
27 Feb 2013 is unambiguous- regardless of where you’re from or how you write your dates, you can’t confuse 2013 for the month or day, you can’t confuse Feb for a day or week, and if you can’t figure 27 out, then we have bigger problems!
2013-02-27 is also unambiguous unless you’re aware of a country that uses year day month, is not?
2013-02-03 though. Someone would fuck it up
2013-02-27 is also unambiguous.
Hey what’s today’s date?
It’s 2025 -
No like the DAY?
Yeah, it’s 2025, 02 -
Not the month, the day - What’s today’s actual date?
Like I was saying, if you’d let me finish, “2025 - 02 - 27”
I’m mostly joking, but when it comes to info about dates, I think the most evctive format it one that organizes the information within a heirachy that provides follow up answers.
Formatting dates as day / month / year does just that. Provides the day it is, followed by the month and year as that is the order that information is usually needed in.
I find providing the year first (or month) is much more ambiguous as neither are the day the actual date falls on.
Wow, what a relatable use-case…
I was said that western mindset goes from small scale to larger scale, like 02-05-2025. Hmm, maybe that’s West vs East propaganda material?
We need to get rid of the month/day and just refer to days by number. Today is day 121 in the year 2025, it’s super clear.
Why bother with years, it’s day 1,456,7834
That’s an interesting epoch. Almost, but not quite, 40,000 years ago
If you need to ask for the current date so often, I suggest getting a watch. (not sure if joking vs predisposed for this part)
If you’re asking so often about recent things then, yes, hearing the redundant parts out loud is only irksome because they’ve already been delivered to you (by yourself).
On the other hand, if you’re asking someone when an arbitrary event happened (e.g. when reminiscing), having the year first quickens context.
Counterpoint: What you say applies in daily life, not when querying an archive of any kind. Year-month-day is the natural sorting order if the question is “which file/folder/column in the spreadsheet is the one I need?” In which case you narrow it down to first the year, then the month, then the day.
I started using YYYY-MM-DD to name files and directories once I noticed that they then became automatically sorted chronologically when I sort the containing directory alphabetically by file name.
Time travelers would have to endure a few less awkward moments though.
Which I was the justification used when my work decided to use 2025-May-01.
It’s close enough to the iso date that nobody will be confused but with that 1 extra layer of security blanket to separate months and days.
Of course, that does ruin sorting, so I think it was a bit silly, nobody has ever used yyyyddmm so it’s all a bit theoretical to me.
I used to work for a company that agreed with you, well at least some clown in management did. Even though it was an Australian company, at least part of the problem was we had an office in Manila, and they speak “American English” which seemed to include the awful date system too. We dealt with a lot of files being issued to clients / received from vendors etc. Because the “official” system used those fucked up dates, everyone ran their own secondary sets of data folders in / out with everything done in ISO dates so you could actually sort it properly.
27 Feb is no more or less ambiguous than 02-27. The problems are when you choose a proper example, like 03/02
It solves the familiarity problem, when getting somebody to do something by a date they readily understand at a glance takes precedence over making everybody in the world change a lifelong habit.
When someone asks you what date it is, no one says it’s 2025 May 5th. We all know what year it is, and we all know what month we are in. It’s the day component that is usually the unknown.
we all know what month we are in
Literally had two coworkers today that did not realize it was May
Oh, yeah, guess it is.
Guilty of that myself this very day. I did it a very spectacular way too. Some coworkers came up to me and said “man, April was a busy month for you!” I boldly replied “and it ain’t even over yet!” I was promptly corrected.
Writing dates is usually in order to keep track for the future, when the year and month may be different.
That’s locality of reference, though, similar to how you can say “here” or “there” for spatial coordinates. Everybody is aware of the year and month, so you omit it as given. The order of significance is still year, month, day.
Imagine if a harried time traveler jumped out of their time machine and asked you the date. Would it make sense to say, “Why, it’s the 1st.” (Or more possible, if a friend awoke from a coma.) If you ask somebody when they were born, most people will give the year at minimum. Of course, there are some weirdos out there, and you recognize them when you ask when they were born, and they say, “on a Tuesday.” Same for the date of the Norman invasion of Great Britain. If you don’t already have some sense of history, then knowing it happened about the 20th isn’t very edifying.
I propose that we amend the ISO to require the days of the week be named after their etymological roots in that language.
English Days of the Week:
Day of the Sun
Day of the Moon
Day of Týr
Day of Odin
Day of Thor
Day of Frēa
Day of SaturnImagine dating a meeting, “Day of Odin, May 7, 2025.” Imagine a store receipt that says, “Day of Thor, June 5, 2025.” Imagine telling a friend, “July 4th falls on a Day of Frēa this year!”
THIS IS WHAT WE COULD HAVE. THIS IS WHAT WE HAVE LOST. THIS IS WHAT WAS STOLEN FROM US.
We could bring it back. We could make this the norm. We could make this real. We could summon this bit of ancient magic back into our world. Let’s remember what we actually named these days for! BRING BACK THE DAY OF THOR!
That would work better if Latin wasn’t there before English. Mars Victor!
My goodness, some of the comments in here must come from people who thought that those writing the standard were morons who did no research.
I don’t think they’re morons…just slaves to convention and compatibility. Not many ways to get away from that and justify it.
The sane way of dealing with it is to use UTC everywhere internally and push local time and local formatting up to the user facing bits. And if you move time around as a string (e.g. JSON) then use ISO 8601 since most languages have time / cron APIs that can process it. Often doesn’t happen that way though…
The BEST way is to use the number of seconds after the J2000 epoch (The Gregorian date January 1, 2000, at 12:00 Terrestrial Time)
ISO 8601 goes from 1582 (Julian calendar adoption) but can go even further with agreement about intention and goes down beyond the millisecond. Not sure why I want an integer from the year 2000 which only represents seconds.
Simplicity and precision.
Who said it was only measured as an integer? Seconds are a decimal value and many timekeeping applications require higher precision than to the millisecond. Referencing an epoch closer to our current time allows greater precision with a single double-precision floating point number.
Want to reference something before J2000? Use a negative number.
It’s independent of earth rotation, so no need to consider leap second updates either unless you are converting to UTC. It’s an absolute measure of time elapsed.
Generally yes, that’s the way to do it, but there are plenty of times where you need to recreate the time zone something was created for, which means additionally storing the time zone information.
Definitely. If your servers aren’t using UTC, then when you’re trying to sync data between different timezones, you’re making it harder for yourself.
This is what I try to do in the few apps I’ve written that had to deal with dates and times
People aren’t computers.
The clue was in “user facing bits”. UTC represents time as an absolute. If you want to show local time, or deal with daylight savings you run UTC through a function on its way to the user.
I think you skipped part of the sentence.
Where I live, “DD. MM. YYYY” is the standard but some old tombstones use
Do you know why one would ever do that? 20(02/05)25 feels like the “Don’t Dead Open Inside” of dates.
Which is exactly why they’re used on tombstones. See, the world makes sense after all!
That’s just a layout. Let’s not confuse presentation with content.
Is that the same guy who wrote Standards? tsk, tsk.
2013-02-27 is a weird way of writing 1361923200
ISO 8601 allows all kinds of crazy time stamps. RFC 3339 is much nicer and simpler, and the sweet spot is at the intersection of ISO 8601 and RFC 3339.
Then again, ISO 8601 contains some nice things that RFC 3339 does not, like ranges and durations, recurrences…
RFC-3336
I figured there were problems with existing calendars, so I created a new one to supersede all others. That reminds me, though: I need to declare the “official” format for the calendar, to avoid all this nonsense.
I see a window of opportunity, here. Normally, there’s no chance for any calendar revision to succeed in adoption; however, I think if I use the right words with the President, I could get it pushed into adoption by fiat. Y’all had best start learning my new calendar to get ahead of everyone else.
Note for the humorously disadvantaged: the Saturnalia Calendar is a mechanism through which I’m playing with a new (to me) programming language. I am under no disillusion that anyone else will see the obvious advantages and clear superiority of the Saturnalia Calendar, much less adopt it. And no comments from the peanut gallery about the name! What, did you expect me to actually spend time thinking of a catchy name when a perfectly good, mostly unused one already existed?
I’m partial to the IFC.
I’m more into the FRC.
If it isn’t carved into a sheet of limestone using the Mayan character set, I don’t want to read about it.
That’s where I started. I wanted a little project to try V on, and had come across the IFC, so I wrote a thing. While I was doing that, I got to thinking about the deficiencies and inherited complexities in IFC, and thought up Saturnalia.
If you pop up to my profile in Sourcehut, you’ll find a similar program - just a lot longer and more complex, for IFC.
I don’t know if they makes me a genius, but yes. Yes it does.
Why does nobody mention the Discordian calendar? 5 days per week, 73 days per month, 5 months to a year (Chaos, Discord, Confusion, Bureaucracy and the Aftermath). On leap years, it adds one additional day (St. Tib’s day) with a name but no numerical date.
I’m a pope, but then, we’re all popes.
My problem with Discordianism is that it’s all 5s, when 6 is clearly superior, and 12 trumps them all.
Hail Eris.
Hey, I quite like this! You’re the first person I’ve found that’s thought of fixing the calendar by adopting six-day weeks. I have a very similar personal version, with two main differences:
- there’s a leap week instead of a leap day, that way weekdays are always the same without having to skip any and every year has a whole number of weeks (either 61 most years [roughly 7 out of every 8] or 60 on short years [roughly 1 out of every 8])
- December includes this leap week and it’s either 30 or 36 days long, depending on the year. I put it at the end of December for the same logic that you put Saturnalia at the end of the year, to not mess with cardinal dates and so that the Xth day of the year is always the same date
I also came to the same conclusion about workweeks. With two-day weekends, the Gregorian calendar has 71 % of workdays but the new calendar only has 67 %. On a thirty-day month this means 20 workdays instead of 21,5. Having the six-day week could also theoretically allow for a move to three- or two-day weeks in a post-scarcity future and doing away with weekends, as well has having either 50 % or 67 % of the workforce being active every day of the week, and not the wild levels of fluctuation seen today. Not having 100 % commuting some days of the week and a fraction of that on others would allow to scale things like transport infrastructure much more effectively
How does that work, with the leap week? Doesn’t the year drift out of alignment with the solar cycle?
Only in eight year chunks. By year seven there is more unalignment than there was in year one, but it goes back to normal on year eight. Same thing as with leap days, just a slightly bigger scale.
In fact, with current rules, [the shift in the regular Gregorian calendar becomes quite big when considering 100-year and 400-year cycles](File:Gregoriancalendarleap_solstice.svg). In theory, a leap week calendar with new and updated rules could have a very comparable if not a smaller average deviation from the true solar date, though I haven’t ran the precise calculations
Ok, so, first, let me say that while I’m enthusiastic about the concept, I understand it’s entirely theoretical. We can’t even get US civilians to adopt metric, FFS. Just a caveat, lest anyone wander by and overhear us.
That said, I did spend some cycles trying to see it it would be possibly to line up a lunar and solar calendar, and it’s not. And it isn’t nearly as important as it used to be. It would still have been nice.
So if you do run calculations, I’d like to see them.
Here they are! Orange represents my Leapweek calendar and blue is Gregorian. The Y-axis is deviation from the tropical year and the X-axis is the year number. It’s a 19200-year cycle to allow for both Gregorian and Leapweek to do entire iterations of their 400-year and 768-year cycles, respectively.
The Gregorian rules are, as you already know: if a year is divisible by 4, it is a leap year; unless it is divisible by 100, when it is a common year; unless it is also divisible by 400, in which case it is actually a leap year.
My Leapweek rules are: years divisible by 8, are leap (short, with 360 days instead of the usual 366) years, as are years divisible by 768 (after subtracting 4 so as not to clash with years divisible by 8). Just two rules as opposed to Gregorian’s three, but they result in almost perfect correction: it takes 625 000 years to fall out of sync by 1 day, as opposed to Gregorian’s 3 216 years for the same amount)
The catch is that Leapweek falls out of sync by up to 5½ days either way in between 768-year cycles, and up to 2½ days either way in between 8-year cycles. But they average out.
About the lunisolar I’m afraid to say that I ran into the same issue. Lunations are a very inconvenient duration to try and fit into neat solar days and months.
I wish it weren’t as theoretical, because I really like this calendar, but yea. It’s one of those things that will be impossible to change even though there’s arguably better options. It’s too arbitrary yet too essential and it goes in the same box as the metric second/minute/hour, the dozenal system and the Holocene calendar.
Here’s a challenge though: try and devise a Martian calendar! That one is not standardised yet. I had good fun trying to match the Martian sol and year to metric units of time and maybe giving some serious use to the kilosecond, megasecond and gigasecond
As an extra, here’s a 1000-year version of the graph at the start of the reply, with the current year 12 025 of the Holocene calendar :^) in the middle
This is fantastic. I’m going to have to spend more time with it.
Since we’re discussing timescales over which there’s a not insignificant chance something radical will happen to society, there’s also the fact that the day is getting longer by 2ms every hundred years. If you’re scheduling out 625,000 years, that’s 12-some seconds by the end, compounded - 6 extra seconds every day by the 312,000th year, etc.
deleted by creator
It’s the only way.
There is still confusion to be had before 1582-11-29
This is the way.
2013-02-27 = 1984