Hacker News new | ask | show | jobs
by stymaar 3 hours ago
The glitch starts with the existence of “year 0”: there's no such thing in the Christian calendars, it goes straight from 1BC to 1AD. (Zero didn't even exist in the 6th century when the Anno Domini epoch was set).
5 comments

They acknowledge that in the article, and make it clear that it really refers to 1 BC.
> Second, in the proleptic Gregorian calendar with astronomical year numbering (which is the calendar that we use on 28times),

Non-Julian calendar.

First year is actually zeroth, just shifted by one. Calculations start with zear.
And that's also why we are in the 21st century, not the 20th.
Arr[0] is the first element of an array, not the “zeroth”.
In a zero based array type language. In pascal I believe arrays can start where you want them to as in "array[-10..10] of integer". It's been a while though.

There is no year zero. Trying to compute with one is almost certainly an error. Trying to work with it is like dividing by zero - it does not make sense.

The year "1" was originally a Julian Date. Using a Gregorian Date before the calendar was introduced is almost certainly an error.

For ancient things, use Before Present, where I believe Present is defined to be sometime in 1950 or there about. For "modern" things (varying definitions of modern) use a sensible format/calendar that works in your database.

> Using a Gregorian Date before the calendar was introduced is almost certainly an error.

It's just an extrapolation; using the calendar being used at the considered time would be meaningless for us, e.g. the short-lived french republican calendar [1].

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

But Arr could be empty or uninitialised...
If there was a year 0, we would still be in the 21st century. It would just have started 1 year earlier, in 2000 instead of 2001:

0 – 99: 1st century

100 – 199: 2nd century

...

1900 – 1999: 20th century

2000 – 2999: 21st century

Although I think centuries are usually treated as starting in years ending in 0 anyway, in casual settings. Most people were certainly happy to celebrate "the new millennium" at the start of the year 2000.

They're just using astronomical year numbering.