• palordrolap@fedia.io
    link
    fedilink
    arrow-up
    9
    ·
    1 day 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
        ·
        17 hours 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.