• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • History of Zero-based Months?

    August 24th, 2022
    history, tech
    JavaScript is a language of many silly things, and one of them is:

    > new Date()
    Wed Aug 24 2022 ...
    > new Date().getFullYear()
    > new Date().getMonth()
    > new Date().getDate()

    It represents 2022-08-24 as (2022, 7, 24). One-based indexing for the year and day, but zero-based indexing for the month.

    In this case, however, the problem was copied from Java:

    getMonth: The value returned is between 0 and 11, with the value 0 representing January.

    getDate: The value returned is between 1 and 31 representing the day of the month.

    I'd love to blame Java, but they seem to have copied the problem from C:

    tm_mday: The day of the month, in the range 1 to 31.
    tm_mon:  The number of months since January, in the range 0 to 11.

    Looking at the Unix History repo, the first mention of "month (0-11)" is in 1973's Research Unix V4:

    The value is a pointer
    to an array whose components are
    .lp +5 5
    0      seconds
    .lp +5 5
    1      minutes
    .lp +5 5
    2      hours
    .lp +5 5
    3      day of the month (1-31)
    .lp +5 5
    4      month (0-11)
    .lp +5 5
    5      year \*- 1900
    .lp +5 5
    6      day of the week (Sunday = 0)
    .lp +5 5

    While this may have been an original decision by Dennis Ritchie, it's also possible it was copied from an even earlier system. Does anyone know?

    Comment via: facebook, hacker news

    Recent posts on blogs I like:

    Vegan nutrition notes

    I just got comprehensive blood test results and it seems my nutritional numbers are in decent shape (vitamin D, B12, etc) after being vegan for over a year, which is a good sign that I’m probably doing most things okay. Also, I feel good, my weight hasn’t…

    via Home June 2, 2023

    How much to coerce children?

    What's "for their own good"? The post How much to coerce children? appeared first on Otherwise.

    via Otherwise May 29, 2023

    Some mistakes I made as a new manager

    the trough of zero dopamine • managing the wrong amount • procrastinating on hard questions • indefinitely deferring maintenance • angsting instead of asking

    via benkuhn.net April 23, 2023

    more     (via openring)

  • Posts
  • RSS
  • ◂◂RSS
  • Contact