About Dave Arns’ Calendar Package

This calendar package is based on the Gregorian Calendar, implemented by Pope Gregory VIII in 1582 to correct for the error that was inherent in the Julian Calendar, in use since Julius Caesar implemented it in 45 BC. The Julian Calendar had a leap year every fourth year, implying a year of exactly 365.25 days. While this was close to reality, it was not exact; the year is closer to 365.2422 days long.

By 1582, this "small" discrepancy between reality and the Julian Calendar had accumulated to an error of ten whole days, and the calendar was noticeably out of sync with the seasons. For this reason, Pope Gregory had his astronomers and mathematicians devise a new calendar that compensated for the slight differences between the actual length of a year and the integer number of days required by a calendar (a calendar year of 365 and a fourth days would be hard to work with).

When Pope Gregory implemented the new calendar, he first needed to correct the error caused by so many centuries of the Julian Calendar. He did this by totally eliminating ten days from the calendar: October 4, 1582 was followed by October 15, 1582. (You can be sure this was not a popular among renters who paid rent on a monthly basis.) As a result of this, this calendar package's range of valid dates starts on October 15, 1582; the other end of its range is November 25, 4046.

The new Gregorian Calendar, still in use today, implements a new rule for determining leap years: A year is not a leap year unless it is divisible by four, in which case it is, unless it is also divisible by 100, in which case it is not, unless it is also divisible by 400, in which case it is. This rule, along with the occasional "leap seconds" that the atomic clocks tell us are needed, will keep our calendar correct for the foreseeable future.


This calendar package also makes use of "Julian Day numbers." A Julian Day number is an astronomical convention created (also in 1582) by the French scholar Joseph Justus Scaliger. The standard operating procedure in those days was to express dates as a certain amount of time since "this coronation" or "that battle," and as such, it was very difficult to convert the timing of an event that occurred in one local chronology into someone else's local chronology.

Scaliger thus proposed the following "Julian Day" mechanism (named after his father, Julius Caeser Scaliger). He multiplied the 28-year solar cycle (when a date recurred on the same day of a seven-day week) by the 19-year lunar cycle (when the phases of the moon recurred on the same day in the solar year), and multiplied that by the 15-year "indiction" cycle of Diocletian's tax census period (I'm not sure why that last one was thrown in). The product of 28x19x15 is a 7980-year megacycle, yielding a zero-point from which all dates could be calculated. Scaliger reckoned that the last time all three of these cycles began simultaneously was January 1st, 4713 B.C., and thus, that is the zero point for calculating Julian Day numbers. If the Julian Day number for a particular date is n, that means that, as of that date, n days had elapsed since January 1st, 4713 B.C. (However, because of other unrelated factors, like the switch from the Julian calendar to the Gregorian calendar, the range of usable Julian dates is restricted.)


Below are some time-related conversion factors you may find useful.

Conversion Factors
Seconds in a minute: 60
Seconds in an hour: 3600
Seconds in a day: 86,400
Seconds in a week: 604,800
Seconds in a year: 31,556,925.9747
Minutes in an hour: 60
Minutes in a day: 1440
Minutes in a week: 10,080
Minutes in a year: 525,948.7662
Hours in a day: 24
Hours in a week: 168
Hours in a year: 8765.8128
Days in a week: 7
Days in a year: 365.2422
One year is 365 days, 5 hours,
48 minutes, and 45.9747 seconds long.