• davidgro@lemmy.world
    link
    fedilink
    arrow-up
    27
    ·
    1 month ago

    That really is more logical. (Except that the initial element generally goes in the top slot of the clock. Note that 12 is the first hour both of AM and of PM.)

    • NateNate60@lemmy.world
      link
      fedilink
      arrow-up
      14
      ·
      1 month ago

      A strictly logical clock for a 24-hour day would have 0 at the top with 1 on the right and 23 on the left. And it would be only ever set to UTC.

      • ooterness@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        1 month ago

        UTC has leap seconds. We can do better. PTP/TAI for lyfe.

        A perfectly logical clock would use a radio broadcast to count off seconds since a predefined epoch. Put a few of them way up high, so more people can see it, and make them so astonishingly precise that you could tell where you are just by listening.

  • palordrolap@fedia.io
    link
    fedilink
    arrow-up
    7
    ·
    1 month ago

    Wait until you learn how months are numbered in some programming languages.

    The clever documentation calls it “months since January”.

      • palordrolap@fedia.io
        link
        fedilink
        arrow-up
        2
        ·
        1 month ago

        JavaScript is in that set of “some” languages. Most of it ties back to C’s struct tm which zero-indexes months (0-11), weekdays (0-6), and the rarely used day of year (0-365), as well as offsetting years by 1900.

        The odd man out, so to speak, is the date (or “mday” as it’s called there), which is in the range 1-31. One (Perl) book I own suggests that the zero-based ones are used to index arrays of strings and implies this one is different because it generally isn’t used that way.

        But anyway, these are decisions made 50 years ago that still haunt us.