• thesmokingman@programming.dev
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    1 day ago

    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.

    • HailHydra@infosec.pub
      link
      fedilink
      English
      arrow-up
      17
      ·
      edit-2
      1 day ago

      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.

      • JackbyDev@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 day ago

        I bet you could make a one liner to rename files with YYYY-MM-DD to 0YYYY-MM-DD fairly easily. Not a problem.

      • The_Decryptor@aussie.zone
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        1 day ago

        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.