kosher_dart library


This class extends ZmanimCalendar and provides many more zmanim than available in the ZmanimCalendar. The basis for most zmanim in this class are from the _sefer_ Yisroel Vehazmanim by Rabbi Yisrael Dovid Harfenes. As an example of the number of different zmanim made available by this class, there are methods to return 18 different calculations for alos (dawn), 18 for plag hamincha and 29 for tzais available in this API. The real power of this API is the ease in calculating zmanim that are not part of the library. The methods for zmanim calculations not present in this class or it's superclass {@link ZmanimCalendar} are contained in the [AstronomicalCalendar], the base class of the calendars in our API since they are generic methods for calculating time based on degrees or time before or after [getSunrise sunrise and [getSunset sunset and are of interest for calculation beyond _zmanim_ calculations. Here are some examples.
An Object representing a Daf in the Daf Yomi cycle.
A class that contains location information such as latitude and longitude required for astronomical calculations. The elevation field may not be used by some calculation engines and would be ignored if set. Check the documentation for specific implementations of the {@link AstronomicalCalculator} to see if elevation is calculated as part of the algorithm.
The HebrewDateFormatter class formats a {@link JewishDate}.
Tefila Rules is a utility class that covers the various halachos and minhagim regarding changes to daily tefila / prayers, based on the Jewish calendar. This is mostly useful for use in developing siddur type applications, but it is also valuable for shul calendars that set tefila times based on if tachanun is recited that day. There are many settings in this class to cover the vast majority of minhagim, but there are likely some not covered here. The source for many of the chasidishe minhagim can be found in the Minhag Yisrael Torah on Orach Chaim 131. Dates used in specific communities such as specific yahrzeits or a holidays like Purim Mezhbizh (Medzhybizh) celebrated on 11 {@link JewishDate#TEVES Teves} or Purim Saragossa celebrated on the (17th or) 18th of {@link JewishDate#SHEVAT Shevat} are not (and likely will not be) supported by this class.
This class calculates the Talmud Yerusalmi Daf Yomi ( page ({@link Daf}) for the a given date.
This class calculates the Daf Yomi Bavli page (daf) for a given date. To calculate Daf Yomi Yerushalmi use the {@link YerushalmiYomiCalculator}. The library may cover Mishna Yomi etc. at some point in the future.
The ZmanimCalendar is arrow_expand specialized calendar that can calculate sunrise and sunset and Jewish zmanim (religious times) for prayers and other Jewish religious duties. This class contains the main functionality of the Zmanim library. For a much more extensive list of zmanim, use the ComplexZmanimCalendar that extends this class. See documentation for the {@link ComplexZmanimCalendar} and AstronomicalCalendar for simple examples on using the API. According to Rabbi Dovid Yehudah Bursztyn in his Zmanim Kehilchasam (second edition published in 2007) chapter 2 (pages 186-187) no zmanim besides sunrise and sunset should use elevation. However, Rabbi Yechiel Avrahom Zilber in the Birur Halacha Vol. 6 Ch. 58 Pages 34 and 42 is of the opinion that elevation should be accounted for in zmanim calculations. Related to this, Rabbi Yaakov Karp in Shimush Zekeinim, Ch. 1, page 17 states that obstructing horizons should be factored into zmanim calculations. The setting defaults to false (elevation will not be used for zmanim calculations besides sunrise and sunset), unless the setting is changed to true in {@link #setUseElevation(boolean)}. This will impact sunrise and sunset-based zmanim such as {@link #getSunrise()}, {@link #getSunset()}, {@link #getSofZmanShmaGRA()}, alos-based zmanim such as {@link #getSofZmanShmaMGA()} that are based on a fixed offset of sunrise or sunset and zmanim based on a percentage of the day such as {@link ComplexZmanimCalendar#getSofZmanShmaMGA90MinutesZmanis()} that are based on sunrise and sunset. Even when set to true it will not impact zmanim that are a degree-based offset of sunrise and sunset, such as {@link ComplexZmanimCalendar#getSofZmanShmaMGA16Point1Degrees()} or {@link ComplexZmanimCalendar#getSofZmanShmaBaalHatanya()}.


The JewishDate is the base calendar class, that supports maintenance of a {@link java.util.GregorianCalendar} instance along with the corresponding Jewish date. This class can use the standard Java Date and Calendar classes for setting and maintaining the dates, but it does not subclass these classes or use them internally in any calculations. This class also does not have a concept of a time (which the Date class does). Please note that the calendar does not currently support dates prior to 1/1/1 Gregorian. Also keep in mind that the Gregorian calendar started on October 15, 1582, so any calculations prior to that are suspect (at least from a Gregorian perspective). While 1/1/1 Gregorian and forward are technically supported, any calculations prior to Hillel II's (Hakatan's) calendar (4119 in the Jewish Calendar / 359 CE Julian as recorded by Rav Hai Gaon) would be just an approximation.
The JewishCalendar extends the JewishDate class and adds calendar methods.