Live data from Hacker News

Dates That Don't Exist (2015)

blog.yossarian.net

31–40 of 90 posts

Re: Dates That Don't Exist (2015)

#31

This is clearly the wrong way to think about it. Dates forward and backward from this flag date exist in both calendars and it's straightforward to convert between them. Such a flag day didn't involve removing days from one calendar or the other, it switched between them.

It's not a wrong way to think about it. There are some use cases for proleptic calendars, but there are just as many where it's completely inappropriate. If you ever need to compare what day you think it is with what day someone in the past thought it was, then yes those dates don't exist in any real sense.

I wouldn't say it's it's straightforward to convert between them, either. The Gregorian calendar was first adopted in 1582, but the UK and it's colonies didn't follow suit until 1752. Russia didn't convert until 1918, and Greece didn't switch until 1923. We're just over 100 years out from active use of the Julian calendar. So you have to know who the speaker is and where they are or where they are from to know what they mean.

Since these places switched at different times, they had to skip a different number of days. It was 10 in the 16th century. It was 13 in the 20th!

If you're reading a journal by a British man who lived in Russia through the end of the Great War and then moved to Greece in 1920, what does he mean when he's talking about a lunar eclipse he just witnessed?

Re: Dates That Don't Exist (2015)

#32
I'm the author of the Perl DateTime library. It works correctly as _documented_. Here's the first two paragraphs of the docs:

> DateTime is a class for the representation of date/time combinations, and is part of the Perl DateTime project.

> It represents the Gregorian calendar, extended backwards in time before its creation (in 1582). This is sometimes known as the "proleptic Gregorian calendar". In this calendar, the first day of the calendar (the epoch), is the first day of year 1, which corresponds to the date which was (incorrectly) believed to be the birth of Jesus Christ

Always RTFM.

Edit: I double-checked, and while this was not in the docs in the first release, it _was_ in the docs as of 2015.

https://metacpan.org/pod/DateTime

Re: Dates That Don't Exist (2015)

#33
This is an interesting detail to learn about history. However, like the article mentions near the end, the Gregorian calendar was adopted at different times in different countries. The Anglican Church didn’t trust the Catholics, so Great Britain adopted the Gregorian calendar in 1752 ( https://en.wikipedia.org/wiki/Calendar_(New_Style)_Act_1750 ). And they did their best to hide the fact that they were adopting a Catholic invention: it’s the “New Style Calendar” and they came up with a different way to choose the same date for Easter.

1752 is late enough that Benjamin Franklin, George Washington, Thomas Jefferson and others were born before that change.

I think that’s the reason that programming languages tend to adopt the proleptic Gregorian calendar and leave it up to the programmer to figure out when the calendar was adopted in the countries they care about.

Except that countries apparently had to answer various questions when they adopted the Gregorian calendar, and they didn’t all chose the same answers. Ideally, we’d have something like tzdb but for calendar adoption. But I guess the need doesn’t come up all that often.

Re: Dates That Don't Exist (2015)

#34
So, the Proleptic Gregorian Calendar[1] refers to what you'd get if you extended the current Gregorian Calendar back in time before its introduction. (It agrees with the Julian calendar only during the 3rd century AD.) Most date libraries use the Proleptic calendar for simplicity. Ruby's DateTime is unusual insofar as, by default, it actually switches to the Julian calendar for dates before Oct 15 1582.

[1] https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar

Re: Dates That Don't Exist (2015)

#35
post #30

This article presents a grossly simplified version of events. The truth is that only some catholic countries switched in 1582. Britain and its colonies switched in 1752. Prussia switched in 1610. And so on.

Hadn't Britain established the C of E permanently by 1570, so it wasn't part of the Catholic world any more?

Re: Dates That Don't Exist (2015)

#36
... And then there was Sweden.

Instead of flipping the switch in the 1500s... or 1700s... they instead did a slow roll out until they finally flipped the switch and did a big leap.

https://www.americanscientist.org/article/date-distinctions

    In “The Future of Time,” the authors state that “different countries and religions adopted the reforms [the Gregorian calendar] at different times and in different ways. In 1712 Sweden added a February 30 to its national calendar.” There was a February 30 in Sweden in 1712, but the context in which it is presented in the article is misleading. In 1700 the Swedes decided to switch from the Julian to the Gregorian calendar by eliminating leap-year days for 40 years. So 1700, which is a Julian leap year but not a Gregorian leap year, did not have a leap day. In both 1704 and 1708, through bureaucratic error, there were leap days. In 1712, the situation was resolved by switching back to the Julian calendar; this meant that the missing leap day that would have occurred in 1700 had to be added, and was, as February 30. It wasn’t until 1753 that the Swedes finally adopted the Gregorian calendar by making the date March 1 follow February 17.

Re: Dates That Don't Exist (2015)

#37
post #7
post #4

I suppose the Georgian calendar includes this gap officially? Or did the catholic world just jump from system to system? If it includes the gap officially, then yea, error is the right thing. But if we just moved to a new calendar, then arguably there should be no error. both calendars work for all dates continuously, and we could have conversion functions etc. The gap is just a big flag day (week.) imo, if i am usin…

Contracts and other similar types of financial instruments existed by this time there must be some way they handled it because something that said that it happened on a date that never occurred - sounds like what lawyers live for. I’ll draft a Dubia so that when future popes change the calendar they will include a representative code sample and details about how we handle this. (It’s important to remember that the po…

> there must be some way they handled it because something that said that it happened on a date that never occurred - sounds like what lawyers live for.

Yeah there are a lot of examples of dates being written two ways on the same document/artifact. In the Anglosphere there are two changes that happened close together: the movement of the new year from Lady Day to the first of January, and the Julian/Gregorian calendar jump, so that confounds things slightly. https://en.wikipedia.org/wiki/Old_Style_and_New_Style_dates

Re: Dates That Don't Exist (2015)

#38
post #32

I'm the author of the Perl DateTime library. It works correctly as _documented_. Here's the first two paragraphs of the docs: > DateTime is a class for the representation of date/time combinations, and is part of the Perl DateTime project. > It represents the Gregorian calendar, extended backwards in time before its creation (in 1582). This is sometimes known as the "proleptic Gregorian calendar". In this calendar, t…

Who else uses the proleptic Gregorian calendar other than programmers of datetime libraries?

Re: Dates That Don't Exist (2015)

#39

Is the stack trace in the Ruby transcript invisible for anyone else? It seems to show up as white text on a white background.

Yep. This post is really old, I probably broke the CSS for these older posts a long time ago and never noticed it. I can try and fix it later today.

Re: Dates That Don't Exist (2015)

#40
post #32

I'm the author of the Perl DateTime library. It works correctly as _documented_. Here's the first two paragraphs of the docs: > DateTime is a class for the representation of date/time combinations, and is part of the Perl DateTime project. > It represents the Gregorian calendar, extended backwards in time before its creation (in 1582). This is sometimes known as the "proleptic Gregorian calendar". In this calendar, t…

Who else uses the proleptic Gregorian calendar other than programmers of datetime libraries?

Considering it only diverges from the standard Gregorian for dates more than 400 years ago, it's not super relevant. Most people don't think about it. But it made a lot of sense to do the shift at the time. All recorded dates up to that point had been physically written down, so it would have been infeasible to migrate those all to the proleptic. If computers had been around, maybe things would have been different.

Fun fact: Greece was still using the old Julian calendar as of 1928, so it's entirely possible that you'll see dates on relatively recent Greek documents that are up to 14 days off from the calendar the rest of the world was using. Civil timekeeping is just a mess.

Post reply on HN