@@ -140,6 +140,13 @@ public class JewishCalendar extends JewishDate {
140140 * @see #isYomKippurKatan()
141141 */
142142 public static final int YOM_KIPPUR_KATAN = 36 ;
143+
144+ /**
145+ * The Monday, Thursday and Monday after the first <em>Shabbos</em> after <em>Rosh Chodesh Cheshvan</em> and <em>Iyar</em>em>) are BeHab
146+ * days. This constant is not actively in use.
147+ * @see #isBeHaB()
148+ */
149+ public static final int BEHAB = 37 ;
143150
144151 /**
145152 * Is the calendar set to Israel, where some holidays have different rules.
@@ -880,6 +887,29 @@ public boolean isYomKippurKatan() {
880887 }
881888 return false ;
882889 }
890+
891+ /**
892+ * The Monday, Thursday and Monday after the first <em>Shabbos</em> after {@link #isRoshChodesh() <em>Rosh Chodesh</em>}
893+ * {@link JewishDate#CHESHVAN <em>Cheshvan</em>} and {@link JewishDate#IYAR <em>Iyar</em>} are <a href=
894+ * "https://outorah.org/p/41334/"> <em>BeHaB</em></a> days. If the last Monday of Iyar's BeHaB coincides with {@link
895+ * #PESACH_SHENI <em>Pesach Sheni</em>}, the method currently considers it both <em>Pesach Sheni</em> and <em>BeHaB</em>.
896+ * As seen in an Ohr Sameach article on the subject <a href="https://ohr.edu/this_week/insights_into_halacha/9340">The
897+ * unknown Days: BeHaB Vs. Pesach Sheini?</a> there are some customs that delay the day to various points in the future.
898+ * @return true if the day is <em>BeHaB</em>.
899+ */
900+ public boolean isBeHaB () {
901+ int dayOfWeek = getDayOfWeek ();
902+ int month = getJewishMonth ();
903+ int day = getJewishDayOfMonth ();
904+
905+ if (month == JewishDate .CHESHVAN || month == JewishDate .IYAR ) {
906+ if ((dayOfWeek == Calendar .MONDAY && day > 4 && day < 18 )
907+ || (dayOfWeek == Calendar .THURSDAY && day > 7 && day < 14 )) {
908+ return true ;
909+ }
910+ }
911+ return false ;
912+ }
883913
884914 /**
885915 * Return true if the day is a Taanis (fast day). Return true for <em>17 of Tammuz</em>, <em>Tisha B'Av</em>,
0 commit comments