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.
Won’t be true after 9999-12-31, however.
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.
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
If humanity survives until then, we can implement 9-digit dates and delay the problem until Y100K.
Can be solved with a small shellscript adding a leading zero to all filenames with the format.
natural sort ftw
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.