How can one manually calculate the date conversion to the Hebrew calendar

565 Views Asked by At

There already are algorithms that can be used to concert a date from different calendars into the Julian Day Number (JDN) and a JDN into the Hebrew calendar.

But how can one calculate the conversion from JDN to the Hebrew calendar in the old fashioned way, for all practical purposes only with a pen and paper? What would be the computational steps necessary, when one can only use +, -, *, /, modulo, and rounding?

If the JDN to Hebrew calendar conversion is too complex, is there a different calendar that could be used as a source which would allow an easier calculation?

1

There are 1 best solutions below

0
On

In order to construct an algorithm for converting a calendar date to a Julian Date we must first understand the calendar's structure. There are resources on the Internet for understanding the structure of Hebrew calendar e.g. Mathematics of the Jewish Calendar and Hebrew Calendar Science and Myths.

The main points are summarised as follows:

  • The calendar is a lunisolar calendar, with occasional leap years. The leap year cycle has 7 leap years in 19 years, spread as smoothly as possible (see also this answer). Leap years have 13 months and non-leap years have 12 months.
  • The start of the year is determined based on the molad, which represents the time of the mean new moon. The molad increments by 29 days, 12 + 793/1080 hours for each lunar month.
  • The start of the year may be postponed so that specific holidays do not fall on certain weekdays.
  • The length of most months are fixed, with a few exceptions. The lengths of all months can be determined given the number of days in the year.
  • The year number changes at the start of Tishri, which is the seventh month.

Thus, we can write down what we need for a conversion algorithm as follows:

  • Start of year
    • start of year requires molad
      • molad requires number of months elapsed from the epoch to the start of year
    • start of year requires postponements
      • postponements depend on the weekday and time of day of the molad
      • postponements also depend on where we are in the leap cycle
  • Lengths of months
    • lengths of some months require lengths of current year
      • length of current year requires start of next year
    • whether there is a leap month

Once we have all of these, we take the Julian Date of the start of the year, add the lengths of each elapsed month and then add the remaining number of days to reach our desired calendar date.

We can see these components in the algorithm linked in the comments and discussed further down on the same page:

  1. $c_0$ is a correction for the year number depending on whether we're before or after the start of Tishri.
  2. $c_1$ is the number of elapsed months up to the start of the year. We take 12 months per year and add the number of leap months (as seen in equation 630).
  3. $\mu$ is the molad corresponding to the start of the year, for which we take the molad epoch and add $\left(29 + \frac{1}{24} \times 12\frac{793}{1080}\right)c_1$ days (equation 634). $\nu_0$ is the JDN corresponding to the molad.
  4. $c_2$ is the date of the start of the year, and $\nu_1$ through $\nu_4$ correspond to the results of the postponement rules. Tabular methods would probably be easier for pen-and-paper calculation to work out the postponements as opposed to the formulae used on the page.
  5. $c_3$ is the number of days from the start of the year to the start of the desired month. Again, tabular methods would be easier for this step.
  6. $z_3$ is the number of days from the start of the month to the desired date.

Similarly, looking in the code linked in the original post allows us to pick out these same components.