What no one teaches you about dates, times and calendars

You see, while we take it for granted now, the year didn't always start on January 1st. Many European countries started the year on some major holy day (like Christmas).

This is a guest post by my friend @mlucy. Originally an e-mail to the RethinkDB team in August of 2013, he wrote it after spending a month implementing support for dates and times. We posted it on GitHub years ago, but gists being gists it never got the distribution it deserved.

Fast forward to now. I was chatting with a subscriber (thanks for your support!), the topic of dates came up, and I remembered that legendary, in some circles, e-mail. With mlucy’s permission I reproduce it here.


So, it turns out that we're only going to support dates between the year 1400 and the year 10000 (inclusive), because that's what boost supports.

Now, I know all you date-time fans out there have the same question — "1400? How does that make any sense? Wasn't the Gregorian calendar established some time in the 1500s?"

Great question! It turns out that it's the wrong one, though. See, they didn't really have standards bodies or anything back in the day — there was nobody to "establish" a calendar. The Catholic church came up with the Gregorian calendar in 1582 because the Julian date of Easter as decreed by the first council of Nicaea had drifted from the actual date of the Spring equinox. (The Julian calendar loses about 18 hours every century.)

So Catholic countries switched to the Gregorian calendar in 1582 by just picking a day and skipping about 10 days forward. (Of course, they all picked different days to skip forward, so there's a period of time toward the end of 1582 where if you pick a random day there's a pretty good chance that that day doesn't exist in at least one major European country.)

The Protestant countries took just a tad longer — about 120 years. Most of them switched over around 1700, with varying degrees of Hijinks.

Sweden deserves a special mention here, because they apparently decided that rather than skipping so many days, it would be easier to just not have leap years for a while until they caught up with the Gregorian calendar. That sounds reasonable, until you think about it and realize that they planned to spend 40 YEARS where their own notion of the current date didn't line up with either calendar.

And then, best of all, they didn't even do it. They skipped the first leap year, then got into some war or another and just didn't bother skipping the next two.

They finally realized that the whole idea was sort of silly (after 12 years, 8 of which were spent not doing it). However, instead of just jumping forward like everyone else, they moved BACK to the Julian calendar by introducing February 30th for the year 1712. (This is the only year where February 30th is a legal Julian date, and only in Sweden.)

50 years later, they finally jumped forward to Gregorian like everybody else (at approximately the same time as Britain).

Lest you think that this is all a relic of history, Alaska didn't move onto the Gregorian calendar until we bought it from Russia in the late 1800s, and Russia itself didn't move onto the Gregorian calendar until 1918.

China actually moved onto the Gregorian calendar TWICE — once in 1912, and once in 1928. (In between there was a brief period of chaos where several warlords rejected the Gregorian calendar in favor of whatever one they liked best.)

Now, though, everyone is basically settled on the Gregorian calendar, except for a few countries (like Iran) that reject it, or (like Israel) use it alongside another calendar, or (like Taiwan) use it but with minor edits.

But let's ignore those. Let's say we're in a country X that's on the Gregorian calendar, and we have a date that we know was recorded *after* the last time X moved to the Gregorian calendar (we need "the last time" for cases like China). Then we should be safe, right?

Not quite. You see, while we take it for granted now, the year didn't always start on January 1st. Many European countries started the year on some major holy day (like Christmas). Some, like England, even had multiple starts of the year; one that was in common use, and one that was the legal standard.

Now most countries switched to starting their years on January 1st before adopting the Gregorian calendar, but some didn't. Holland, for example (then the Republic of the Seven United Netherlands — don't even get me STARTED on all the cases where groups with different calendars conquered each other, or merged with each other, or began or ceased to exist). They apparently didn't move to January 1st until a year after they'd moved to the Gregorian calendar.

Anyway, that's all I've got for you. No moral.


A GitHub user svip wrote a comment adding even more info. It’s already public on GitHub, so I reproduce it here without permission:

While Russia did change to the Gregorian calendar in 1918, they changed it to the Soviet calendar in 1929, but reverted in 1940. During the French Revolution, France used a Metric inspired calendar until 1805, when they went back to the Gregorian calendar. It was briefly reimplemented in 1871, during the Paris Commune. Both these calendars were based on a simplification of the months (both used 30 days for each month), which required some 'complementary days', that were added at the end of the year.

When Romulus (or so legend tells us) created the first Roman Calendar, there were no January and February (they were added by King Noma), hence why the year - according to Roman tradition - starts 1 March. Caesar was 15 days (ides) into the year's session when he was killed. I'd also like to point out that it is the 24th and not the 29th of February that is the leap day. In fact, originally, it was not a leap day, but a leap month, inserted near the end of February, called Mensis Intercalaris.[0] I realize the old Roman calendar might be a bit before the Gregorian calendar, but let's not forget that the Gregorian calendar is based on those.

In North Korea, while they use the Gregorian calendar, they do not use the regular reckoning, and all years are according to Kim Il-Song's birth year (that is, 1912). This is known as the Juche calendar. However, Gregorian years often appear after the Juche calendar year in official documents.

[0] I personally find this a bit unfair, as consuls served each month alternating for a year. So on leap years, you just get an extra month to govern of the other guy.