Edward M. Reingold's Calendar Book, Papers, and Code

Calendrical Calculations, 3rd edition
By Nachum Dershowitz and Edward M. Reingold
Cambridge University Press, 2008

We give a unified algorithmic presentation for more than 30 calendars of current and historical interest: the Gregorian (current civil), ISO (International Organization for Standardization), Egyptian (and nearly identical Armenian), Julian (old civil), Coptic, Ethiopic, Islamic (Moslem) arithmetic and observational, modern Persian (both astronomical and arithmetic forms), Bahai (both present and future forms), Hebrew (Jewish) standard and observational, Mayan (long count, haab, and tzolkin) and two almost identical Aztec, Balinese Pawukon, French Revolutionary (both astronomical and arithmetic forms), Chinese (and nearly identical Japanese, Korean, and Vietnamese), old Hindu (solar and lunisolar), Hindu (solar and lunisolar), Hindu astronomical, and Tibetan. Easy conversion among these calendars is a natural outcome of the approach, as is the determination of secular and religious holidays. Calculations of lunar phases, solstices, equinoxes, sunrise, and sunset are described as well.

Calendrical Tabulations, 1900-2200
By Edward M. Reingold and Nachum Dershowitz
Cambridge University Press, 2002

Tables for easy conversion of fifteen different calendars. Ten calendars are given explicitly (Gregorian, ISO, Hebrew, Chinese, Coptic, Ethiopic, Persian, Hindu lunar, Hindu solar, and Islamic); another five are easily obtained from the tables with minimal arithmetic (JD, RD, Julian, arithmetic Islamic, and arithmetic Persian).

Line Drawing and Leap Years
By Mitchell A. Harris and Edward M. Reingold
ACM Computing Surveys 36 (2004), 68-80

Bresenham's algorithm minimizes error in drawing lines on integer grid points; leap year calculations, surprisingly, are a generalization. We compare the two calculations, and show how to compute directly, without iteration, individual points of a Bresenham line. We also discuss an unexpected connection of the leap year/line pattern with Euclid's algorithm for computing the greatest common divisor. (PDF; 13 pages)

Hebrew Dating
By Nachum Dershowitz and Edward M. Reingold
The 24th IAJGS International Conference on Jewish Genealogy, Jerusalem, July 4-9, 2004.

Paper (11 pages): Word or PDF
Slides (40 pages): PowerPoint or PDF (loses overlay structure)

Indian Calendrical Calculations
By Nachum Dershowitz and Edward M. Reingold
Ancient Indian Leaps in the Advent of Mathematics edited by B. S. Yadav and M. Mohan, Birkhauser, 2011

We analyze various Indian calendars. We discuss the Indian day count, a generic solar calendar that generalizes various calendars including the mean Indian solar calendar, the true and astronomical Indian solar calendars, a generic lunisolar calendar that generalizes the Indian version, and the true and astronomical Indian lunisolar calendars. We also discuss aspects of the traditional Indian calculation of the time of sunrise and the determination of lunisolar holidays. (PDF; 31 pages)



The following material is now way out of date, having been superseded by the book above.

Calendrical Calculations: The Millennium Edition
By Edward M. Reingold and Nachum Dershowitz
Cambridge University Press, 2001

A unified algorithmic presentation for 25 calendars of current and historical interest: the Gregorian (current civil), ISO (International Organization for Standardization), Egyptian (and nearly identical Armenian), Julian (old civil), Coptic, Ethiopic, Islamic (Moslem), modern Persian (both astronomical and arithmetic forms), Bahai (both present and future forms), Hebrew (Jewish), Mayan (long count, haab, and tzolkin), Balinese Pawukon, French Revolutionary (both astronomical and arithmetic forms), Chinese (and nearly identical Japanese), old Hindu (solar and lunisolar), and modern Hindu (solar and lunisolar). Easy conversion among these calendars is a natural outcome of the approach, as is the determination of secular and religious holidays. Calculations of lunar phases, solstices, equinoxes, sunrise, and sunset are described as well.

Calendrical Calculations
By Nachum Dershowitz and Edward M. Reingold
Cambridge University Press, 1997

A unified, algorithmic presentation is given for the Gregorian (current civil), ISO, Julian (old civil), Islamic (Moslem), Hebrew (Jewish), Persian, Coptic, Ethiopic, Bahai, Mayan, French Revolutionary, Chinese, and Hindu calendars. Easy conversion among these calendars is a byproduct of the approach, as is the determination of secular and religious holidays. Calculations of lunar phases, solstices, equinoxes, sunrise, and sunset are described as well.

Implementing Solar Astronomical Calendars
By Nachum Dershowitz and Edward M. Reingold
Birashkname (Musa Akrami, editor), University of Shahid Beheshti, 1998

In this note we describe a unified implementation of calendars whose year is based on the astronomical solar cycle--that is, on the precise solar longitude at a specified time. For example, the astronomical Persian calendar begins its new year on the day when the vernal equinox (approximately March 21) occurs before apparent noon (the middle point of the day, not clock time) and is postponed to the next day if the equinox is after apparent noon. Other calendars of this type include the French Revolutionary calendar and the future form of the Bahai calendar. Our approach also offers a slight simplification to the implementation of the Chinese lunisolar calendar. (PDF; 7 pages)

Calendrical Calculations
By Nachum Dershowitz and Edward M. Reingold
Software-Practice and Experience 20 (1990), 899-928

A unified, algorithmic presentation is given for the Gregorian (current civil), ISO, Julian (old civil), Islamic (Moslem), and Hebrew (Jewish) calendars. Easy conversion among these calendars is a byproduct of the approach, as is the determination of secular and religious holidays. (PDF; 30 pages)

Calendrical Calculations, II: Three Historical Calendars
By Edward M. Reingold, Nachum Dershowitz, and Stewart M. Clamen
Software-Practice and Experience 23 (1993), 383-404

Algorithmic presentations are given for three calendars of historical interest, the Mayan, French Revolutionary, and Old Hindu. (PDF; 22 pages)

Common Lisp code from above calendar papers

C++ code for most of the Lisp code in the first paper

The GNU Emacs Implementation of the Calendar


go back Back to Edward Reingold's Homepage


This page has been visited 91514 times.
Last modified: Sunday, 01-Jan-2012 11:44:32 CST