Class YomiCalculator

java.lang.Object
com.kosherjava.zmanim.hebrewcalendar.YomiCalculator

public class YomiCalculator
extends Object
This class calculates the Daf Yomi Bavli page (daf) for a given date. To calculate Daf Yomi Yerushalmi use the YerushalmiYomiCalculator. The library may cover Mishna Yomi etc. at some point in the future.
Author:
© Bob Newell (original C code), © Eliyahu Hershfeld 2011 - 2020
  • Field Details

    • dafYomiStartDay

      private static final Calendar dafYomiStartDay
      The start date of the first Daf Yomi Bavli cycle of September 11, 1923 / Rosh Hashana 5684.
    • dafYomiJulianStartDay

      private static final int dafYomiJulianStartDay
      The start date of the first Daf Yomi Bavli cycle in the Julian calendar. Used internally for claculations.
    • shekalimChangeDay

      private static final Calendar shekalimChangeDay
      The date that the pagination for the Daf Yomi Maseches Shekalim changed to use the commonly used Vilna Shas pagination from the no longer commonly available Zhitomir / Slavuta Shas used by Rabbi Meir Shapiro.
    • shekalimJulianChangeDay

      private static final int shekalimJulianChangeDay
      The Julian date that the cycle for Shekalim changed.
      See Also:
      for details.
  • Constructor Details

  • Method Details

    • getDafYomiBavli

      public static Daf getDafYomiBavli​(JewishCalendar jewishCalendar)
      Returns the Daf Yomi Bavli Daf for a given date. The first Daf Yomi cycle started on Rosh Hashana 5684 (September 11, 1923) and calculations prior to this date will result in an IllegalArgumentException thrown. For historical calculations (supported by this method), it is important to note that a change in length of the cycle was instituted starting in the eighth Daf Yomi cycle beginning on June 24, 1975. The Daf Yomi Bavli cycle has a single masechta of the Talmud Yerushalmi - Shekalim as part of the cycle. Unlike the Bavli where the number of daf per masechta was standardized since the original Bomberg Edition published from 1520 - 1523, there is no uniform page length in the Yerushalmi. The early cycles had the Yerushalmi Shekalim length of 13 days following the Slavuta/Zhytomyr Shas used by Rabbi Meir Shapiro. With the start of the eighth Daf Yomi cycle beginning on June 24, 1975 the length of the Yerushalmi Shekalim was changed from 13 to 22 daf to follow the Vilna Shas that is in common use today.
      Parameters:
      jewishCalendar - The JewishCalendar date for calculation. TODO: this can be changed to use a regular GregorianCalendar since there is nothing specific to the JewishCalendar in this class.
      Returns:
      the Daf.
      Throws:
      IllegalArgumentException - if the date is prior to the September 11, 1923 start date of the first Daf Yomi cycle
    • getJulianDay

      private static int getJulianDay​(Calendar calendar)
      Return the Julian day from a Java Calendar.
      Parameters:
      calendar - The Java Calendar of the date to be calculated
      Returns:
      the Julian day number corresponding to the date