Hacker News new | past | comments | ask | show | jobs | submit login
The leap year is February 29, not December 32 due to a Roman calendar quirk (theconversation.com)
55 points by samizdis 3 months ago | hide | past | favorite | 58 comments



Summary: The historical start of the year is March 1st. That's also why some months have misleading Latin names that are off-by-2.


> some months have misleading Latin names that are off-by-2

To expand on this: "sept-" is a prefix meaning 7, like septuplets. But September is the 9th month of the year. "oct-" means 8 like octagon, but October is the 10th month of the year. And so on for November and December.


> The historical start

"Historical" meaning going back to the Roman Republic:

> We can partly thank the Roman king Numa Pompilius. According to tradition, during his reign (c. 715–673 BCE) Numa revised the Roman republican calendar so that January replaced March as the first month. It was a fitting choice, since January was named after Janus, the Roman god of all beginnings; March celebrated Mars, the god of war. (Some sources claim that Numa also created the month of January.) However, there is evidence that January 1 was not made the official start of the Roman year until 153 BCE.

> In 46 BCE Julius Caesar introduced more changes, though the Julian calendar, as it became known, retained January 1 as the year’s opening date.

* https://www.britannica.com/story/why-does-the-new-year-start...

> The Romans did not have records of their early calendars but, like modern historians, assumed the year originally began in March on the basis of the names of the months following June. The consul M. Fulvius Nobilior (r. 189 BC) wrote a commentary on the calendar at his Temple of Hercules Musarum that claimed January had been named for Janus because the god faced both ways,[83][where?] suggesting it had been instituted as a first month.[citation needed] It was, however, usually said to have been instituted along with February, whose nature and festivals suggest it had originally been considered the last month of the year. The consuls' term of office—and thus the order of the years under the republic—seems to have changed several times. Their inaugurations were finally moved to January 1(Kal. Ian.) in 153 BC to allow Q. Fulvius Nobilior to attack Segeda in Spain during the Celtiberian Wars, before which they had occurred on March 15 (Eid. Mart.).[87] There is reason to believe the inauguration date had been May 1during the 3rd century BC until 222 BC[citation needed] and Livy mentions earlier inaugurations on May 15 (Eid. Mai.), July 1 (Kal. Qui.), August 1 (Kal. Sex.), October 1(Kal. Oct.), and December 15 (Eid. Dec.).[88][where?] Under the Julian calendar, the year began on January 1 but years of the Indiction cycle began on September 1.

* https://en.wikipedia.org/wiki/Roman_calendar#Years


I thought it was late March, around the time of the equinox? March was still the 1st month, but the year didn't start until towards the end of it.

Notably, I thought the accounting/tax year started in late March, and didn't change to January because figuring out a 10-month accounting/tax year would be a nightmare. But also, accountants didn't skip the days that everyone else did when moving from the Julian to the Gregorian calendar, because paying people 2/3 of a month's salary and charging 2/3 of a month's rent would also be a nightmare, which is why the accounting/tax year now starts on April 6th?

(Calendars are weird, yo!)



> https://gist.github.com/timvisee/fcda9bbdff88d45cc9061606b4b...

It would be nice if they linked to examples of the exceptions.


That's English-specific (the March 25th thingy), and only started at around 1155 (the reason being that March 25 is the approximate day of spring equinox).

It is true that the Romans did have March (name from Mars the Romam deity) as the start of the year (July would have been Quintillius (fifth month) for example).


Well, there's more to it than that: the leap day is really February 24th; there are "two" February 24ths.

> Except that isn’t exactly true. The Romans did not add an extra day on February 29, but on February 24, which is where the more complicated answer begins. The Romans kept a calendar by counting backwards from specific set times of the month, the kalends (March 1), the nones (March 7) and the ides (March 15). Julius Caesar was famously told in Shakespeare’s play to: “Beware the ides of March,” also known as March 15, the day of his murder.

> If the Romans started counting on the first day of March, which they called the kalends and moved backwards, then their days would progress retrospectively like this: the kalends is March 1, second kalends is February 28, third kalends is February 27 and so on until February 24 is the sixth kalends of March. On a leap day, they added a second sixth kalends of March, which they called the “bissextile day”, that is the second sixth day. In older writings of various kinds, you will still see people call the leap day, February 29, the bissextile day.

What the article doesn't explain, and I don't know either, is why they chose the sixth calends of March specifically, because there are "higher" calends, so it's not really the natural place to stick it.

The Romans actually added January and February to the beginning of the year very early on, according to Livy, in the time of King Numa, second legendary king of Rome. The article doesn't mention this, but even during almost all of what we know as Rome, the months were numbered wrong!

ed: what a mess! the answer appears to be here: https://www.google.com/books/edition/Johnson_s_Universal_Cyc...

Basically, the last days of February were already "past" the end of the religious year and placed in a special intercalary period, so the sixths calends of February was the last day of the "real" religious year in his time, which did not end at the same time as the business or calendar year. I think. This source also claims Caesar put January at the beginning of the year, which I am fairly sure is not correct.

ed2: apparently authorities differ on month ordering timelines: Wikipedia cites Plutarch (not Livy) as saying it was King Numa who placed January at the begiining, Livy placing it centuries later during the late Republic, and others putting it in the time of the decemvirs, but I think it is still the case that even after the ordering was done the religious observances for the "end" of the year continued to take place in the beginning of the calendar year.


I would really like to go back to the earlier system, where there was no January or February, and we just stop having time in the winter until someone important announces it is the new Year in March.



Just when you think timezone databases can handle absolutely every weird thing somebody proposed somewhere...


I don't know why software engineers are always in favor of simplifying timekeeping systems.

Don't they know what side their bread is buttered on?


It's not as if we're in danger of running out of useful things we could work on, instead of yet another change in timekeeping systems.


In French, leap years are still called bisextile. I had no idea why.


It's the same in portuguese, 2024 is an "ano bissexto". I never stopped to ask what the hell does "bissexto" means, but now I know... I guess?


>> In older writings of various kinds, you will still see people call the leap day, February 29, the bissextile day.

"bissextile" and "bis sextum" mentioned in:

* https://en.wikipedia.org/wiki/Leap_year#Julian_reform


Yes, Caesar added our leap day specifically in his reforms. I just don’t think he reordered the months.


I recall reading that the off-by-2 is because a Caesar decided to insert the two months named for Julius and Augustus.

But I guess this idea is wrong ?



Funny story about the year 2000 that does not involve Y2K:

"Everyone" knows that leap years occur on year divisible by 4 ('first rule'). The second rule to them is that if a year is divisible by 100 (1800, 1900, …2000), then it is not a leap year.

So a lot of folks did not have their systems/software have February 29 in the year 2000.

But there is a third rule: if the year is divisible by 400 (like 1600… and 2000) it is a leap year.

* https://en.wikipedia.org/wiki/Leap_year#Gregorian_calendar

* https://en.wikipedia.org/wiki/Gregorian_calendar#Accuracy

Lots of folks missed the 'third rule'. Hilarity ensued.

* https://en.wikipedia.org/wiki/Year_2000_problem#On_29_Februa...


>Everyone" knows that leap years occur on year divisible by 4 ('first rule').

Actually, I think that's the only rule most people know. I think the "funny story" is actually the opposite: most people were treating 2000 as an ordinary every-4-year leap year, did not know about the 100 divisor, but were inadvertently saved by the 400 divisor.

The Wikipedia link does document some cases of what you say (yes on the 2nd rule, omitting the 3rd rule) but I think there were far, far more cases of simply assuming only the 1st rule applied.


Agreed. The fact that y2k was even a concern in the first place suggests that vanishingly few systems were made with century-scale foresight.


Wow the way this is presented is super confusing, to the point that your description includes a contradiction. Specifically, of a year is divisible by 400 it's also divisible by 100, so it's both a leap year and not leap year!

Instead of showing rules as a linear list, I'd suggest it's easier to visualise it as a tree, or simpler still, as a series of nested ifs.


I mean, that contradiction is also in the first two rules. It's a leap year if it's divisible by 4, but not if it's divisible by 100, so what about 200?

Best to describe it as a flowchart

* Is the year divisible by 400? YES -> Leap year

* NO -> Is the year divisible by 100? YES -> Not leap year

* NO -> Is the year divisible by 4? YES -> Leap year

* NO -> Not leap year


Pedantic but this drives me nuts - this algorithm has to do 3 divisions for almost every year. If you flip it upside down, it's significantly faster.

* Is the year divisible by 4? NO -> not leap year

* YES -> Is the year divisible by 100? NO -> leap year

* YES -> Is the year divisible by 400? NO -> not leap year

* YES -> leap year

This way you do only 1 division for 75% of years.


Fortunately, it's not a very big N. ;)


> Instead of showing rules as a linear list, I'd suggest it's easier to visualise it as a tree, or simpler still, as a series of nested ifs.

Feel free to post a comment with ASCII art or (pseudo-)code. :)


(gets 1978 copy of The C Programming Language off the shelf)

   if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
      [it's a leap year]
   else
      [it's not]
I remember this because it is where I first learned the extra rules, beyond just every 4th year.


The 1582 document establishing the Gregorian Calendar, "Inter Gravissimas", specifically says that Y2K is leap.

https://en.wikisource.org/wiki/Translation:Inter_gravissimas

"Next, so that the equinox will no longer recede in future from the twelfth day before the Kalends of April [i.e. 21 March], we decree:

    that the bissextile day every fourth year shall continue, as the custom is now, except in centurial years, although these were always bissextiles before, and we wish the year 1600 to be bissextile as well;
    after that, however, the centurial years that follow shall not all be bissextiles, only every fourth centurial year shall be bissextile, thus the years 1700, 1800 and 1900 shall not be bissextile. But in the year 2000, the bissextile day shall be added in the usual way, with February containing 29 days;
    and then the same order of leaving out and adding the bissextile day shall be observed in each period of 400 years ever after."



> The calendar of the Assyrians, for example […]

LOL.


Umm, this does involve Y2K. It's the title of the Wikipedia entry you linked to.


Who are these people and did they not learn these in school?


Me? First time reading about these 3 rules. Maybe not actually, but must have forgotten


We learnt this in Math and also in the CS subject at high school and had to program it as well.


they could have saved everyone a whole lot of trouble by having 13 months with 28 days each, no cross calendar day stuff, no leap year stuff, would be truly the most perfect calendar ever made forever and would simplify working of everything on the planet by a mile


Every month would be the same number of days! Every week day would be the same date every year!

And you can have a "year day (or 2 on leap years) at the end to round the calendar out to 365 days.

It makes too much sense, that's why it will never happen. https://en.m.wikipedia.org/wiki/International_Fixed_Calendar


Sounds boring. What would we have to talk about on a slow Wednesday morning? :)


Well you cannot really do without leap years, but what you propose looks a lot like the pataphysical calendar: https://en.wikipedia.org/wiki/%27Pataphysics#Pataphysical_ca...

13 months of 29 days. The 29th of each month being imaginary with two exceptions, 1 annual and 1 leap.

Or more seriously, https://en.wikipedia.org/wiki/International_Fixed_Calendar


and then also remove timezones. Why should everyone have a different number to represent their time depending on the sun's position relative to them. I don't mind, for example, waking up at 2:00 and sleeping at 18:00 if these numbers just happen to match my current sleeping routine.


12 can be divided by 2, 3, and 4.

13 is a prime number.

There's a reason the number 12 comes back to often for these types of things.

And the current calender really isn't that much of a hassle.


Not sure how the fixes the leap year? The Egyptian calendar was also easier, but still drifted: https://en.m.wikipedia.org/wiki/Egyptian_calendar perhaps they could put all the extra days at the end if the year as a holiday. Some years 5 days other years 6 days.


Just let it drift. The climate is changing anyway, a bit of drift will hardly be noticeable in the noise.


What? 13*28=364 So, missing ~1.25 days every year (instead of ~0.25 days each year with a 365 day calendar). How does this solve leap years?


1 or 2 "year day" holidays at the end of the calendar which aren't part of any month


I propose that we just extend "year day" to cover the entire year and leave only a single month called Null. This solves not only leap days but also leap seconds and even timezones: The time in year day isn't part of any month, day, hour, or minute so there's no problem.


And this is supposed to be simpler?


> no leap year stuff

Curious, how would you fix the leap year stuff?


Julius Caesar reformed the calendar in part because it had historically been manipulated for political reasons. Roman magistrates were elected for a period of years, and the Pontifex Maximus (chief priest) was in charge of the calendar, so he would often shorten the years when his political opponents were in power and lengthen the years of his political allies.


I think we're going to need cities on other planets before Earth's horrible calendar is fixed.


What are we going to need to switch from base 10 to base 12?


I'm convinced the desire to switch from Earth-centric time to a solar-centric time will be the only thing capable of forcing our Julian calendar into obsolescence.


That doesn't answer my question.


I still like the earth date approach the most: exactly 4 weeks, 28 days a month, 13 months a year and 1 or 2 special earth dates to celebrate depends on whether the year is a leap year or not.

Very neat and perpetual :D


September literally means 7, october means 8, november means 9 and december means 10.

Why did someone decide to move the beginning of the year from march to january and ruin this naming schema anyway?!


Also, romans thought that even numbers are unlucky — so I think it's natural they would prefer another odd numbered month to an even one.


I thought that this was so we could represent all days of the month using 5 bits.


Those wacky Romans




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: