``Calendrical Calculations'', Dershowitz, N. & Reingold, E. M. 1990
*Software-Practice and Experience* **20** 899

``Calendrical Calculations, II: Three Historical Calendars'', Reingold, E. M.,
Dershowitz, N., & Clamen, Stewart, M. 1993 *Software-Practice and
Experience* **23** 383.

For the most part I tried to implement the algorithms in an efficient manner but I didn't go to great pains. Note that the elisp calendar code that comes with Emacs19 and XEmacs is one realization of their algorithms. The discussion provided below borrows heavily from the papers quoted above.

Return to today's events or tomorrow's events.

(((y%4 == 0) && (y%100 != 0)) || (y%400 == 0))

One minor complication is that the day starts at noon UTC. It is also common in astronomical work to make reference to the fraction of the day that has elapsed. We have included this information to two decimal places.

By far the most sensible calendar in existence. It is a minor modification to the Gregorian calendar. In fact, it is the next reform to the calendar that started with Julius Caesar (Julian) and was followed by Pope Gregory (Gregorian). Unlike the Gregorian calendar, in the world calendar each date falls on the same day of the week every year instead of the 28 year cycle as we have now. Furthermore the months will have sensible lengths of 31, 30, 30, ... (the pattern repeated 3 more times) days. Notice we still have 12 months and they have the same names. Notice we still have 7 day weeks and the days have the same names. If you look carefully you will notice this only accounts for 364 days. To get around this we call day 365 (currently known as Dec 31) World's Day. It is a world holiday and doesn't belong to any month. During a leap year we add another day after June 30 called Leapyear Day. Again it is a world holiday and it doesn't belong to any month. Leap years are exactly the same as in the Gregorian calendar.

Despite being emminently sensible and having been introduced well over 50 years ago to much acclaim; it will never be accepted. Sadly people are too obstinate to switch to a sensible calendar. The days of forcing an intelligent calendar reform on the world are long gone.

The Haab Calendar was the civil calendar and consisted of a 18 `months' of 20
days each. The remaining 5 `monthless' days at the end of the year were in
the unlucky period called *Uayeb*. Note that there is no concept of a
year in this calendar. It just cycles on endlessly. Also note that the day
number indicates the number of elapsed days in the current month, so it starts
at 0 (the first day hasn't elapsed yet).

The Tzolkin Calendar was the religious calendar and consisted of two cycles, one of 13 days and the other of 20 names. The interesting feature of this calendar is both cycles counted simultaneously. It would be like incrementing the day and the month in the Gregorian Calendar (so the days would go Jan 1, Feb 2, Mar 3, ...). Notice that again there is no concept of year in this calendar. It was popular to specify dates by both their Haab date and Tzolkin date. This leads to a cycles of 18980 days or about 52 solar years.

The French revolutionaries redefined everything about the calendar, except for the day. Both the day and month names were changed. The calendar was made of 12 months of 30 days each plus 5 extra days (6 in a leap year) that did not fall in any month. Each month was divided into 3 weeks of 10 days. The workers only got 1 day in 10 off under this new scheme instead of 1 in 7 with the old one. Furthermore they divided the day into 10 ``hours''; each hour had 100 ``minutes'' and each minute had 100 ``seconds''. Clearly the definition of hour, minute, and second is different than what we are used to under the current system.

The leap year structure is somewhat complicated. The original intent was to keep the autumnal equinox on the first day of each year. However the equinox wanders by a day or two over time so this scheme was not very easy to implement. After year 20 it was intended to adopt and algorthmic approach to leap years. The algorithm proposed was the same as the Gregorian Calendar except for the additional rule that years divisible by 4000 are not leap years. Pope Gregory considered including this rule since it makes the calendar stay true to the solar year for a much longer period of time, but rejected it as making the rule needlessly complicated. Ironically the French revolutionaries planned on adopting a very precise rule but the calendar only existed for about 13 years. The years 3, 7, and 11 were observed as leap years. The years 15 and 20 were planned to be leap years and the algorithm was to be adopted after this, however the calendar didn't exist for that long. Note that based on the algorithm we would have expected 5 of the first 20 years to be leap years, only the years are different than the algorithm would give. We follow this set of rules for determining leap years even though they were never used in practice.

Return to today's events or tomorrow's events.

Craig J Copi | craig@copi.org

Html 3.2 Final DTD . . . valid!