| /* |
| /* |
| * Zmanim Java API |
| * Zmanim Java API |
| * Copyright (C) 2004-2009 Eliyahu Hershfeld |
| * Copyright (C) 2004-2009 Eliyahu Hershfeld |
| * |
| * |
| * This program is free software; you can redistribute it and/or modify it under the terms of the |
| * This program is free software; you can redistribute it and/or modify it under the terms of the |
| * GNU General Public License as published by the Free Software Foundation; either version 2 of the |
| * GNU General Public License as published by the Free Software Foundation; either version 2 of the |
| * License, or (at your option) any later version. |
| * License, or (at your option) any later version. |
| * |
| * |
| * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without |
| * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without |
| * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * General Public License for more details. |
| * General Public License for more details. |
| * |
| * |
| * You should have received a copy of the GNU General Public License along with this program; if |
| * You should have received a copy of the GNU General Public License along with this program; if |
| * not, write to the Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA |
| * not, write to the Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA |
| * 02111-1307, USA or connect to: http://www.fsf.org/copyleft/gpl.html |
| * 02111-1307, USA or connect to: http://www.fsf.org/copyleft/gpl.html |
| */ |
| */ |
| package net.sourceforge.zmanim; |
| package net.sourceforge.zmanim; |
| |
| |
| import java.util.Date; |
| import java.util.Date; |
| |
| |
| import net.sourceforge.zmanim.util.AstronomicalCalculator; |
| import net.sourceforge.zmanim.util.AstronomicalCalculator; |
| import net.sourceforge.zmanim.util.GeoLocation; |
| import net.sourceforge.zmanim.util.GeoLocation; |
| |
| |
| /** |
| /** |
| * This class extends ZmanimCalendar and provides many more zmanim than |
| * This class extends ZmanimCalendar and provides many more zmanim than |
| * available in the ZmanimCalendar. The basis for most zmanim in this class are |
| * available in the ZmanimCalendar. The basis for most zmanim in this class are |
| * from the <em>sefer</em> <b>Yisroel Vehazmanim</b> by <b>Rabbi Yisroel |
| * from the <em>sefer</em> <b>Yisroel Vehazmanim</b> by <b>Rabbi Yisroel |
| * Dovid Harfenes</b>. <br /> |
| * Dovid Harfenes</b>. <br /> |
| * For an example of the number of different <em>zmanim</em> made available by |
| * For an example of the number of different <em>zmanim</em> made available by |
| * this class, there are methods to return 12 different calculations for |
| * this class, there are methods to return 12 different calculations for |
| * <em>alos</em> (dawn) available in this class. The real power of this API is |
| * <em>alos</em> (dawn) available in this class. The real power of this API is |
| * the ease in calculating <em>zmanim</em> that are not part of the API. The |
| * the ease in calculating <em>zmanim</em> that are not part of the API. The |
| * methods for doing <em>zmanim</em> calculations not present in this or it's |
| * methods for doing <em>zmanim</em> calculations not present in this or it's |
| * superclass the {@link ZmanimCalendar} are contained in the |
| * superclass the {@link ZmanimCalendar} are contained in the |
| * {@link AstronomicalCalendar}, the base class of the calendars in our API |
| * {@link AstronomicalCalendar}, the base class of the calendars in our API |
| * since they are generic methods for calculating time based on degrees or time |
| * since they are generic methods for calculating time based on degrees or time |
| * before or after {@link #getSunrise sunrise} and {@link #getSunset sunset} and |
| * before or after {@link #getSunrise sunrise} and {@link #getSunset sunset} and |
| * are of interest for calculation beyond <em>zmanim</em> calculations. Here |
| * are of interest for calculation beyond <em>zmanim</em> calculations. Here |
| * are some examples: <br /> |
| * are some examples: <br /> |
| * First create the Calendar for the location you would like to calculate: |
| * First create the Calendar for the location you would like to calculate: |
| * |
| * |
| * <pre> |
| * <pre> |
| * String locationName = "Lakewood, NJ"; |
| * String locationName = "Lakewood, NJ"; |
| * double latitude = 40.0828; //Lakewood, NJ |
| * double latitude = 40.0828; //Lakewood, NJ |
| * double longitude = -74.2094; //Lakewood, NJ |
| * double longitude = -74.2094; //Lakewood, NJ |
| * double elevation = 0; |
| * double elevation = 0; |
| * //the String parameter in getTimeZone() has to be a valid timezone listed in {@link java.util.TimeZone#getAvailableIDs()} |
| * //the String parameter in getTimeZone() has to be a valid timezone listed in {@link java.util.TimeZone#getAvailableIDs()} |
| * TimeZone timeZone = TimeZone.getTimeZone("America/New_York"); |
| * TimeZone timeZone = TimeZone.getTimeZone("America/New_York"); |
| * GeoLocation location = new GeoLocation(locationName, latitude, longitude, |
| * GeoLocation location = new GeoLocation(locationName, latitude, longitude, |
| * elevation, timeZone); |
| * elevation, timeZone); |
| * ComplexZmanimCalendar czc = new ComplexZmanimCalendar(location); |
| * ComplexZmanimCalendar czc = new ComplexZmanimCalendar(location); |
| * </pre> |
| * </pre> |
| * |
| * |
| * Note: For locations such as Israel where the beginning and end of daylight |
| * Note: For locations such as Israel where the beginning and end of daylight |
| * savings time can fluctuate from year to year create a |
| * savings time can fluctuate from year to year create a |
| * {@link java.util.SimpleTimeZone} with the known start and end of DST. <br /> |
| * {@link java.util.SimpleTimeZone} with the known start and end of DST. <br /> |
| * To get alos calculated as 14° below the horizon (as calculated in the |
| * To get alos calculated as 14° below the horizon (as calculated in the |
| * calendars published in Montreal) use: |
| * calendars published in Montreal) use: |
| * |
| * |
| * <pre> |
| * <pre> |
| * Date alos14 = czc.getSunriseOffsetByDegrees(14); |
| * Date alos14 = czc.getSunriseOffsetByDegrees(14); |
| * </pre> |
| * </pre> |
| * |
| * |
| * To get <em>mincha gedola</em> calculated based on the MGA using a <em>shaah |
| * To get <em>mincha gedola</em> calculated based on the MGA using a <em>shaah |
| * zmanis</em> |
| * zmanis</em> |
| * based on the day starting 16.1° below the horizon (and ending 16.1° |
| * based on the day starting 16.1° below the horizon (and ending 16.1° |
| * after sunset the following calculation can be used: |
| * after sunset the following calculation can be used: |
| * |
| * |
| * <pre> |
| * <pre> |
| * Date minchaGedola = czc.getTimeOffset(czc.getAlos16point1Degrees(), czc |
| * Date minchaGedola = czc.getTimeOffset(czc.getAlos16point1Degrees(), czc |
| * .getShaahZmanis16Point1Degrees() * 6.5); |
| * .getShaahZmanis16Point1Degrees() * 6.5); |
| * </pre> |
| * </pre> |
| * |
| * |
| * A little more complex example would be calculating <em>plag hamincha</em> |
| * A little more complex example would be calculating <em>plag hamincha</em> |
| * based on a shaah zmanis that was not present in this class. While a drop more |
| * based on a shaah zmanis that was not present in this class. While a drop more |
| * complex it is still rather easy. For example if you wanted to calculate |
| * complex it is still rather easy. For example if you wanted to calculate |
| * <em>plag</em> based on the day starting 12° before sunrise and ending |
| * <em>plag</em> based on the day starting 12° before sunrise and ending |
| * 12° after sunset as calculated in the calendars in Manchester, England |
| * 12° after sunset as calculated in the calendars in Manchester, England |
| * (there is nothing that would prevent your calculating the day using sunrise |
| * (there is nothing that would prevent your calculating the day using sunrise |
| * and sunset offsets that are not identical degrees, but this would lead to |
| * and sunset offsets that are not identical degrees, but this would lead to |
| * chatzos being a time other than the {@link #getSunTransit() solar transit} |
| * chatzos being a time other than the {@link #getSunTransit() solar transit} |
| * (solar midday)). The steps involved would be to first calculate the |
| * (solar midday)). The steps involved would be to first calculate the |
| * <em>shaah zmanis</em> and than use that time in milliseconds to calculate |
| * <em>shaah zmanis</em> and than use that time in milliseconds to calculate |
| * 10.75 hours after sunrise starting at 12° before sunset |
| * 10.75 hours after sunrise starting at 12° before sunset |
| * |
| * |
| * <pre> |
| * <pre> |
| * long shaahZmanis = czc.getTemporalHour(czc.getSunriseOffsetByDegrees(12), czc |
| * long shaahZmanis = czc.getTemporalHour(czc.getSunriseOffsetByDegrees(12), czc |
| * .getSunsetOffsetByDegrees(12)); |
| * .getSunsetOffsetByDegrees(12)); |
| * Date plag = getTimeOffset(czc.getSunriseOffsetByDegrees(12), |
| * Date plag = getTimeOffset(czc.getSunriseOffsetByDegrees(12), |
| * shaahZmanis * 10.75); |
| * shaahZmanis * 10.75); |
| * </pre> |
| * </pre> |
| * |
| * |
| * <h2>Disclaimer:</h2> |
| * <h2>Disclaimer:</h2> |
| * While I did my best to get accurate results please do not rely on these |
| * While I did my best to get accurate results please do not rely on these |
| * zmanim for <em>halacha lemaaseh</em> |
| * zmanim for <em>halacha lemaaseh</em> |
| * |
| * |
| * @author © Eliyahu Hershfeld 2004 - 2009 |
| * @author © Eliyahu Hershfeld 2004 - 2009 |
| * @version 1.1 |
| * @version 1.1 |
| */ |
| */ |
| public class ComplexZmanimCalendar extends ZmanimCalendar { |
| public class ComplexZmanimCalendar extends ZmanimCalendar { |
| private static final long serialVersionUID = 1; |
| private static final long serialVersionUID = 1; |
| |
| |
| /** |
| /** |
| * The zenith of 3.7° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * The zenith of 3.7° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * (90°). This calculation is used for calculating <em>tzais</em> |
| * (90°). This calculation is used for calculating <em>tzais</em> |
| * (nightfall) according to some opinions. This calculation is based on the |
| * (nightfall) according to some opinions. This calculation is based on the |
| * opinion of the Geonim that <em>tzais</em> is the time it takes to walk |
| * opinion of the Geonim that <em>tzais</em> is the time it takes to walk |
| * 3/4 of a Mil at 18 minutes a Mil, or 13.5 minutes after sunset. The sun |
| * 3/4 of a Mil at 18 minutes a Mil, or 13.5 minutes after sunset. The sun |
| * is 3.7° below {@link #GEOMETRIC_ZENITH geometric zenith} at this time |
| * is 3.7° below {@link #GEOMETRIC_ZENITH geometric zenith} at this time |
| * in Jerusalem on March 16, about 4 days before the equinox, the day that a |
| * in Jerusalem on March 16, about 4 days before the equinox, the day that a |
| * solar hour is one hour. |
| * solar hour is one hour. |
| * |
| * |
| * TODO AT see #getTzaisGeonim3Point7Degrees() |
| * TODO AT see #getTzaisGeonim3Point7Degrees() |
| */ |
| */ |
| protected static final double ZENITH_3_POINT_7 = GEOMETRIC_ZENITH + 3.7; |
| protected static final double ZENITH_3_POINT_7 = GEOMETRIC_ZENITH + 3.7; |
| |
| |
| /** |
| /** |
| * The zenith of 5.95° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * The zenith of 5.95° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * (90°). This calculation is used for calculating <em>tzais</em> |
| * (90°). This calculation is used for calculating <em>tzais</em> |
| * (nightfall) according to some opinions. This calculation is based on the |
| * (nightfall) according to some opinions. This calculation is based on the |
| * position of the sun 24 minutes after sunset in Jerusalem on March 16, |
| * position of the sun 24 minutes after sunset in Jerusalem on March 16, |
| * about 4 days before the equinox, the day that a solar hour is one hour, |
| * about 4 days before the equinox, the day that a solar hour is one hour, |
| * which calculates to 5.95° below |
| * which calculates to 5.95° below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @see #getTzaisGeonim5Point95Degrees() |
| * @see #getTzaisGeonim5Point95Degrees() |
| */ |
| */ |
| protected static final double ZENITH_5_POINT_95 = GEOMETRIC_ZENITH + 5.95; |
| protected static final double ZENITH_5_POINT_95 = GEOMETRIC_ZENITH + 5.95; |
| |
| |
| /** |
| /** |
| * The zenith of 7.083° below |
| * The zenith of 7.083° below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This is often |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This is often |
| * referred to as 7°5' or 7° and 5 minutes. This calculation is used |
| * referred to as 7°5' or 7° and 5 minutes. This calculation is used |
| * for calculating <em>alos</em> (dawn) and <em>tzais</em> (nightfall) |
| * for calculating <em>alos</em> (dawn) and <em>tzais</em> (nightfall) |
| * according to some opinions. This calculation is based on the position of |
| * according to some opinions. This calculation is based on the position of |
| * the sun 30 minutes after sunset in Jerusalem on March 16, about 4 days |
| * the sun 30 minutes after sunset in Jerusalem on March 16, about 4 days |
| * before the equinox, the day that a solar hour is one hour, which |
| * before the equinox, the day that a solar hour is one hour, which |
| * calculates to 7.0833333° below |
| * calculates to 7.0833333° below |
| * {@link #GEOMETRIC_ZENITH geometric zenith}. This is time some opinions |
| * {@link #GEOMETRIC_ZENITH geometric zenith}. This is time some opinions |
| * consider dark enough for 3 stars to be visible. This is the opinion of |
| * consider dark enough for 3 stars to be visible. This is the opinion of |
| * the Shu"t Melamed Leho'il, Shu"t Binyan Tziyon, Tenuvas Sadeh and very |
| * the Shu"t Melamed Leho'il, Shu"t Binyan Tziyon, Tenuvas Sadeh and very |
| * close to the time of the Mekor Chesed on the Sefer chasidim. |
| * close to the time of the Mekor Chesed on the Sefer chasidim. |
| * |
| * |
| * @see #getTzaisGeonim7Point083Degrees() |
| * @see #getTzaisGeonim7Point083Degrees() |
| * @see #getBainHasmashosRT13Point5MinutesBefore7Point083Degrees() |
| * @see #getBainHasmashosRT13Point5MinutesBefore7Point083Degrees() |
| */ |
| */ |
| protected static final double ZENITH_7_POINT_083 = GEOMETRIC_ZENITH + 7 |
| protected static final double ZENITH_7_POINT_083 = GEOMETRIC_ZENITH + 7 |
| + (5 / 60); |
| + (5 / 60); |
| |
| |
| /** |
| /** |
| * The zenith of 10.2° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * The zenith of 10.2° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * (90°). This calculation is used for calculating <em>misheyakir</em> |
| * (90°). This calculation is used for calculating <em>misheyakir</em> |
| * according to some opinions. This calculation is based on the position of |
| * according to some opinions. This calculation is based on the position of |
| * the sun 45 minutes before {@link #getSunrise sunrise} in Jerusalem on |
| * the sun 45 minutes before {@link #getSunrise sunrise} in Jerusalem on |
| * March 16, about 4 days before the equinox, the day that a solar hour is |
| * March 16, about 4 days before the equinox, the day that a solar hour is |
| * one hour which calculates to 10.2° below |
| * one hour which calculates to 10.2° below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @see #getMisheyakir10Point2Degrees() |
| * @see #getMisheyakir10Point2Degrees() |
| */ |
| */ |
| protected static final double ZENITH_10_POINT_2 = GEOMETRIC_ZENITH + 10.2; |
| protected static final double ZENITH_10_POINT_2 = GEOMETRIC_ZENITH + 10.2; |
| |
| |
| /** |
| /** |
| * The zenith of 11° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * The zenith of 11° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * (90°). This calculation is used for calculating <em>misheyakir</em> |
| * (90°). This calculation is used for calculating <em>misheyakir</em> |
| * according to some opinions. This calculation is based on the position of |
| * according to some opinions. This calculation is based on the position of |
| * the sun 48 minutes before {@link #getSunrise sunrise} in Jerusalem on |
| * the sun 48 minutes before {@link #getSunrise sunrise} in Jerusalem on |
| * March 16, about 4 days before the equinox, the day that a solar hour is |
| * March 16, about 4 days before the equinox, the day that a solar hour is |
| * one hour which calculates to 11° below |
| * one hour which calculates to 11° below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @see #getMisheyakir11Degrees() |
| * @see #getMisheyakir11Degrees() |
| */ |
| */ |
| protected static final double ZENITH_11_DEGREES = GEOMETRIC_ZENITH + 11; |
| protected static final double ZENITH_11_DEGREES = GEOMETRIC_ZENITH + 11; |
| |
| |
| /** |
| /** |
| * The zenith of 11.5° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * The zenith of 11.5° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * (90°). This calculation is used for calculating <em>misheyakir</em> |
| * (90°). This calculation is used for calculating <em>misheyakir</em> |
| * according to some opinions. This calculation is based on the position of |
| * according to some opinions. This calculation is based on the position of |
| * the sun 52 minutes before {@link #getSunrise sunrise} in Jerusalem on |
| * the sun 52 minutes before {@link #getSunrise sunrise} in Jerusalem on |
| * March 16, about 4 days before the equinox, the day that a solar hour is |
| * March 16, about 4 days before the equinox, the day that a solar hour is |
| * one hour which calculates to 11.5° below |
| * one hour which calculates to 11.5° below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @see #getMisheyakir11Point5Degrees() |
| * @see #getMisheyakir11Point5Degrees() |
| */ |
| */ |
| protected static final double ZENITH_11_POINT_5 = GEOMETRIC_ZENITH + 11.5; |
| protected static final double ZENITH_11_POINT_5 = GEOMETRIC_ZENITH + 11.5; |
| |
| |
| /** |
| /** |
| * The zenith of 13° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * The zenith of 13° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * (90°). This calculation is used for calculating |
| * (90°). This calculation is used for calculating |
| * <em>Rabainu Tam's bain hashmashos</em> according to some opinions. |
| * <em>Rabainu Tam's bain hashmashos</em> according to some opinions. |
| * <br/><br/> <b>FIXME:</b> See comments on |
| * <br/><br/> <b>FIXME:</b> See comments on |
| * {@link #getBainHasmashosRT13Degrees}. This should be changed to 13.2477 |
| * {@link #getBainHasmashosRT13Degrees}. This should be changed to 13.2477 |
| * after confirmation. |
| * after confirmation. |
| * |
| * |
| * @see #getBainHasmashosRT13Degrees |
| * @see #getBainHasmashosRT13Degrees |
| * |
| * |
| */ |
| */ |
| protected static final double ZENITH_13_DEGREES = GEOMETRIC_ZENITH + 13; |
| protected static final double ZENITH_13_DEGREES = GEOMETRIC_ZENITH + 13; |
| |
| |
| /** |
| /** |
| * The zenith of 19.8° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * The zenith of 19.8° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * (90°). This calculation is used for calculating <em>alos</em> |
| * (90°). This calculation is used for calculating <em>alos</em> |
| * (dawn) and <em>tzais</em> (nightfall) according to some opinions. This |
| * (dawn) and <em>tzais</em> (nightfall) according to some opinions. This |
| * calculation is based on the position of the sun 90 minutes after sunset |
| * calculation is based on the position of the sun 90 minutes after sunset |
| * in Jerusalem on March 16, about 4 days before the equinox, the day that a |
| * in Jerusalem on March 16, about 4 days before the equinox, the day that a |
| * solar hour is one hour which calculates to 19.8° below |
| * solar hour is one hour which calculates to 19.8° below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @see #getTzais19Point8Degrees() |
| * @see #getTzais19Point8Degrees() |
| * @see #getAlos19Point8Degrees() |
| * @see #getAlos19Point8Degrees() |
| * @see #getAlos90() |
| * @see #getAlos90() |
| * @see #getTzais90() |
| * @see #getTzais90() |
| */ |
| */ |
| protected static final double ZENITH_19_POINT_8 = GEOMETRIC_ZENITH + 19.8; |
| protected static final double ZENITH_19_POINT_8 = GEOMETRIC_ZENITH + 19.8; |
| |
| |
| /** |
| /** |
| * The zenith of 26° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * The zenith of 26° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * (90°). This calculation is used for calculating <em>alos</em> |
| * (90°). This calculation is used for calculating <em>alos</em> |
| * (dawn) and <em>tzais</em> (nightfall) according to some opinions. This |
| * (dawn) and <em>tzais</em> (nightfall) according to some opinions. This |
| * calculation is based on the position of the sun |
| * calculation is based on the position of the sun |
| * {@link #getAlos120() 120 minutes} after sunset in Jerusalem on March 16, |
| * {@link #getAlos120() 120 minutes} after sunset in Jerusalem on March 16, |
| * about 4 days before the equinox, the day that a solar hour is one hour |
| * about 4 days before the equinox, the day that a solar hour is one hour |
| * which calculates to 26° below |
| * which calculates to 26° below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @see #getAlos26Degrees() |
| * @see #getAlos26Degrees() |
| * @see #getTzais26Degrees() |
| * @see #getTzais26Degrees() |
| * @see #getAlos120() |
| * @see #getAlos120() |
| * @see #getTzais120() |
| * @see #getTzais120() |
| */ |
| */ |
| protected static final double ZENITH_26_DEGREES = GEOMETRIC_ZENITH + 26.0; |
| protected static final double ZENITH_26_DEGREES = GEOMETRIC_ZENITH + 26.0; |
| |
| |
| private double ateretTorahSunsetOffset = 40; |
| private double ateretTorahSunsetOffset = 40; |
| |
| |
| public ComplexZmanimCalendar(GeoLocation location) { |
| public ComplexZmanimCalendar(GeoLocation location) { |
| super(location); |
| super(location); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Default constructor will set a default {@link GeoLocation#GeoLocation()}, |
| * Default constructor will set a default {@link GeoLocation#GeoLocation()}, |
| * a default |
| * a default |
| * {@link AstronomicalCalculator#getDefault() AstronomicalCalculator} and |
| * {@link AstronomicalCalculator#getDefault() AstronomicalCalculator} and |
| * default the calendar to the current date. |
| * default the calendar to the current date. |
| * |
| * |
| * @see AstronomicalCalendar#AstronomicalCalendar() |
| * @see AstronomicalCalendar#AstronomicalCalendar() |
| */ |
| */ |
| public ComplexZmanimCalendar() { |
| public ComplexZmanimCalendar() { |
| super(); |
| super(); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * using a 19.8° dip. This calculation divides the day based on the |
| * using a 19.8° dip. This calculation divides the day based on the |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * calculation is when the sun is 19.8° below the eastern geometric |
| * calculation is when the sun is 19.8° below the eastern geometric |
| * horizon before sunrise. Dusk for this is when the sun is 19.8° below |
| * horizon before sunrise. Dusk for this is when the sun is 19.8° below |
| * the western geometric horizon after sunset. This day is split into 12 |
| * the western geometric horizon after sunset. This day is split into 12 |
| * equal parts with each part being a <em>shaah zmanis</em>. |
| * equal parts with each part being a <em>shaah zmanis</em>. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| */ |
| */ |
| public long getShaahZmanis19Point8Degrees() { |
| public long getShaahZmanis19Point8Degrees() { |
| return getTemporalHour(getAlos19Point8Degrees(), |
| return getTemporalHour(getAlos19Point8Degrees(), |
| getTzais19Point8Degrees()); |
| getTzais19Point8Degrees()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * using a 18° dip. This calculation divides the day based on the |
| * using a 18° dip. This calculation divides the day based on the |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * calculation is when the sun is 18° below the eastern geometric |
| * calculation is when the sun is 18° below the eastern geometric |
| * horizon before sunrise. Dusk for this is when the sun is 18° below |
| * horizon before sunrise. Dusk for this is when the sun is 18° below |
| * the western geometric horizon after sunset. This day is split into 12 |
| * the western geometric horizon after sunset. This day is split into 12 |
| * equal parts with each part being a <em>shaah zmanis</em>. |
| * equal parts with each part being a <em>shaah zmanis</em>. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| */ |
| */ |
| public long getShaahZmanis18Degrees() { |
| public long getShaahZmanis18Degrees() { |
| return getTemporalHour(getAlos18Degrees(), getTzais18Degrees()); |
| return getTemporalHour(getAlos18Degrees(), getTzais18Degrees()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * using a dip of 26°. This calculation divides the day based on the |
| * using a dip of 26°. This calculation divides the day based on the |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * calculation is when the sun is {@link #getAlos26Degrees() 26°} below |
| * calculation is when the sun is {@link #getAlos26Degrees() 26°} below |
| * the eastern geometric horizon before sunrise. Dusk for this is when the |
| * the eastern geometric horizon before sunrise. Dusk for this is when the |
| * sun is {@link #getTzais26Degrees() 26°} below the western geometric |
| * sun is {@link #getTzais26Degrees() 26°} below the western geometric |
| * horizon after sunset. This day is split into 12 equal parts with each |
| * horizon after sunset. This day is split into 12 equal parts with each |
| * part being a <em>shaah zmanis</em>. |
| * part being a <em>shaah zmanis</em>. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| */ |
| */ |
| public long getShaahZmanis26Degrees() { |
| public long getShaahZmanis26Degrees() { |
| return getTemporalHour(getAlos26Degrees(), getTzais26Degrees()); |
| return getTemporalHour(getAlos26Degrees(), getTzais26Degrees()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * using a dip of 16.1°. This calculation divides the day based on the |
| * using a dip of 16.1°. This calculation divides the day based on the |
| * opinion that the day runs from dawn to dusk. Dawn for this calculation is |
| * opinion that the day runs from dawn to dusk. Dawn for this calculation is |
| * when the sun is 16.1° below the eastern geometric horizon before |
| * when the sun is 16.1° below the eastern geometric horizon before |
| * sunrise and dusk is when the sun is 16.1° below the western geometric |
| * sunrise and dusk is when the sun is 16.1° below the western geometric |
| * horizon after sunset. This day is split into 12 equal parts with each |
| * horizon after sunset. This day is split into 12 equal parts with each |
| * part being a <em>shaah zmanis</em>. |
| * part being a <em>shaah zmanis</em>. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| * @see #getAlos16Point1Degrees() |
| * @see #getAlos16Point1Degrees() |
| * @see #getTzais16Point1Degrees() |
| * @see #getTzais16Point1Degrees() |
| * @see #getSofZmanShmaMGA16Point1Degrees() |
| * @see #getSofZmanShmaMGA16Point1Degrees() |
| * @see #getSofZmanTfilaMGA16Point1Degrees() |
| * @see #getSofZmanTfilaMGA16Point1Degrees() |
| * @see #getMinchaGedola16Point1Degrees() |
| * @see #getMinchaGedola16Point1Degrees() |
| * @see #getMinchaKetana16Point1Degrees() |
| * @see #getMinchaKetana16Point1Degrees() |
| * @see #getPlagHamincha16Point1Degrees() |
| * @see #getPlagHamincha16Point1Degrees() |
| */ |
| */ |
| |
| |
| public long getShaahZmanis16Point1Degrees() { |
| public long getShaahZmanis16Point1Degrees() { |
| return getTemporalHour(getAlos16Point1Degrees(), |
| return getTemporalHour(getAlos16Point1Degrees(), |
| getTzais16Point1Degrees()); |
| getTzais16Point1Degrees()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (solar hour) according to the |
| * Method to return a <em>shaah zmanis</em> (solar hour) according to the |
| * opinion of the MGA. This calculation divides the day based on the opinion |
| * opinion of the MGA. This calculation divides the day based on the opinion |
| * of the <em>MGA</em> that the day runs from dawn to dusk. Dawn for this |
| * of the <em>MGA</em> that the day runs from dawn to dusk. Dawn for this |
| * calculation is 60 minutes before sunrise and dusk is 60 minutes after |
| * calculation is 60 minutes before sunrise and dusk is 60 minutes after |
| * sunset. This day is split into 12 equal parts with each part being a |
| * sunset. This day is split into 12 equal parts with each part being a |
| * <em>shaah zmanis</em>. Alternate mothods of calculating a |
| * <em>shaah zmanis</em>. Alternate mothods of calculating a |
| * <em>shaah zmanis</em> are available in the subclass |
| * <em>shaah zmanis</em> are available in the subclass |
| * {@link ComplexZmanimCalendar} |
| * {@link ComplexZmanimCalendar} |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| */ |
| */ |
| public long getShaahZmanis60Minutes() { |
| public long getShaahZmanis60Minutes() { |
| return getTemporalHour(getAlos60(), getTzais60()); |
| return getTemporalHour(getAlos60(), getTzais60()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (solar hour) according to the |
| * Method to return a <em>shaah zmanis</em> (solar hour) according to the |
| * opinion of the MGA. This calculation divides the day based on the opinion |
| * opinion of the MGA. This calculation divides the day based on the opinion |
| * of the <em>MGA</em> that the day runs from dawn to dusk. Dawn for this |
| * of the <em>MGA</em> that the day runs from dawn to dusk. Dawn for this |
| * calculation is 72 minutes before sunrise and dusk is 72 minutes after |
| * calculation is 72 minutes before sunrise and dusk is 72 minutes after |
| * sunset. This day is split into 12 equal parts with each part being a |
| * sunset. This day is split into 12 equal parts with each part being a |
| * <em>shaah zmanis</em>. Alternate mothods of calculating a |
| * <em>shaah zmanis</em>. Alternate mothods of calculating a |
| * <em>shaah zmanis</em> are available in the subclass |
| * <em>shaah zmanis</em> are available in the subclass |
| * {@link ComplexZmanimCalendar} |
| * {@link ComplexZmanimCalendar} |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| */ |
| */ |
| public long getShaahZmanis72Minutes() { |
| public long getShaahZmanis72Minutes() { |
| return getShaahZmanisMGA(); |
| return getShaahZmanisMGA(); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * the opinion of the MGA based on <em>alos</em> being |
| * the opinion of the MGA based on <em>alos</em> being |
| * {@link #getAlos72Zmanis() 72} minutes <em>zmaniyos</em> before |
| * {@link #getAlos72Zmanis() 72} minutes <em>zmaniyos</em> before |
| * {@link #getSunrise() sunrise}. This calculation divides the day based on |
| * {@link #getSunrise() sunrise}. This calculation divides the day based on |
| * the opinion of the <em>MGA</em> that the day runs from dawn to dusk. |
| * the opinion of the <em>MGA</em> that the day runs from dawn to dusk. |
| * Dawn for this calculation is 72 minutes <em>zmaniyos</em> before |
| * Dawn for this calculation is 72 minutes <em>zmaniyos</em> before |
| * sunrise and dusk is 72 minutes <em>zmaniyos</em> after sunset. This day |
| * sunrise and dusk is 72 minutes <em>zmaniyos</em> after sunset. This day |
| * is split into 12 equal parts with each part being a <em>shaah zmanis</em>. |
| * is split into 12 equal parts with each part being a <em>shaah zmanis</em>. |
| * This is identical to 1/10th of the day from {@link #getSunrise() sunrise} |
| * This is identical to 1/10th of the day from {@link #getSunrise() sunrise} |
| * to {@link #getSunset() sunset}. |
| * to {@link #getSunset() sunset}. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| * @see #getTzais72Zmanis() |
| * @see #getTzais72Zmanis() |
| */ |
| */ |
| public long getShaahZmanis72MinutesZmanis() { |
| public long getShaahZmanis72MinutesZmanis() { |
| return getTemporalHour(getAlos72Zmanis(), getTzais72Zmanis()); |
| return getTemporalHour(getAlos72Zmanis(), getTzais72Zmanis()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * using a dip of 90 minutes. This calculation divides the day based on the |
| * using a dip of 90 minutes. This calculation divides the day based on the |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * calculation is 90 minutes before sunrise and dusk is 90 minutes after |
| * calculation is 90 minutes before sunrise and dusk is 90 minutes after |
| * sunset. This day is split into 12 equal parts with each part being a |
| * sunset. This day is split into 12 equal parts with each part being a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| */ |
| */ |
| public long getShaahZmanis90Minutes() { |
| public long getShaahZmanis90Minutes() { |
| return getTemporalHour(getAlos90(), getTzais90()); |
| return getTemporalHour(getAlos90(), getTzais90()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * the opinion of the MGA based on <em>alos</em> being |
| * the opinion of the MGA based on <em>alos</em> being |
| * {@link #getAlos90Zmanis() 90} minutes <em>zmaniyos</em> before |
| * {@link #getAlos90Zmanis() 90} minutes <em>zmaniyos</em> before |
| * {@link #getSunrise() sunrise}. This calculation divides the day based on |
| * {@link #getSunrise() sunrise}. This calculation divides the day based on |
| * the opinion of the <em>MGA</em> that the day runs from dawn to dusk. |
| * the opinion of the <em>MGA</em> that the day runs from dawn to dusk. |
| * Dawn for this calculation is 90 minutes <em>zmaniyos</em> before |
| * Dawn for this calculation is 90 minutes <em>zmaniyos</em> before |
| * sunrise and dusk is 90 minutes <em>zmaniyos</em> after sunset. This day |
| * sunrise and dusk is 90 minutes <em>zmaniyos</em> after sunset. This day |
| * is split into 12 equal parts with each part being a <em>shaah zmanis</em>. |
| * is split into 12 equal parts with each part being a <em>shaah zmanis</em>. |
| * This is identical to 1/8th of the day from {@link #getSunrise() sunrise} |
| * This is identical to 1/8th of the day from {@link #getSunrise() sunrise} |
| * to {@link #getSunset() sunset}. |
| * to {@link #getSunset() sunset}. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| * @see #getAlos90Zmanis() |
| * @see #getAlos90Zmanis() |
| * @see #getTzais90Zmanis() |
| * @see #getTzais90Zmanis() |
| */ |
| */ |
| public long getShaahZmanis90MinutesZmanis() { |
| public long getShaahZmanis90MinutesZmanis() { |
| return getTemporalHour(getAlos90Zmanis(), getTzais90Zmanis()); |
| return getTemporalHour(getAlos90Zmanis(), getTzais90Zmanis()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * the opinion of the MGA based on <em>alos</em> being |
| * the opinion of the MGA based on <em>alos</em> being |
| * {@link #getAlos96Zmanis() 96} minutes <em>zmaniyos</em> before |
| * {@link #getAlos96Zmanis() 96} minutes <em>zmaniyos</em> before |
| * {@link #getSunrise() sunrise}. This calculation divides the day based on |
| * {@link #getSunrise() sunrise}. This calculation divides the day based on |
| * the opinion of the <em>MGA</em> that the day runs from dawn to dusk. |
| * the opinion of the <em>MGA</em> that the day runs from dawn to dusk. |
| * Dawn for this calculation is 96 minutes <em>zmaniyos</em> before |
| * Dawn for this calculation is 96 minutes <em>zmaniyos</em> before |
| * sunrise and dusk is 96 minutes <em>zmaniyos</em> after sunset. This day |
| * sunrise and dusk is 96 minutes <em>zmaniyos</em> after sunset. This day |
| * is split into 12 equal parts with each part being a <em>shaah zmanis</em>. |
| * is split into 12 equal parts with each part being a <em>shaah zmanis</em>. |
| * This is identical to 1/7.5th of the day from |
| * This is identical to 1/7.5th of the day from |
| * {@link #getSunrise() sunrise} to {@link #getSunset() sunset}. |
| * {@link #getSunrise() sunrise} to {@link #getSunset() sunset}. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| * @see #getAlos96Zmanis() |
| * @see #getAlos96Zmanis() |
| * @see #getTzais96Zmanis() |
| * @see #getTzais96Zmanis() |
| */ |
| */ |
| public long getShaahZmanis96MinutesZmanis() { |
| public long getShaahZmanis96MinutesZmanis() { |
| return getTemporalHour(getAlos96Zmanis(), getTzais96Zmanis()); |
| return getTemporalHour(getAlos96Zmanis(), getTzais96Zmanis()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * the opinion of the Chacham Yosef Harari-Raful of Yeshivat Ateret Torah |
| * the opinion of the Chacham Yosef Harari-Raful of Yeshivat Ateret Torah |
| * calculated with <em>alos</em> being 1/10th of sunrise to sunset day, or |
| * calculated with <em>alos</em> being 1/10th of sunrise to sunset day, or |
| * {@link #getAlos72Zmanis() 72} minutes <em>zmaniyos</em> of such a day |
| * {@link #getAlos72Zmanis() 72} minutes <em>zmaniyos</em> of such a day |
| * before {@link #getSunrise() sunrise}, and tzais is usually calculated as |
| * before {@link #getSunrise() sunrise}, and tzais is usually calculated as |
| * {@link #getTzaisAteretTorah() 40 minutes} after |
| * {@link #getTzaisAteretTorah() 40 minutes} after |
| * {@link #getSunset() sunset}. This day is split into 12 equal parts with |
| * {@link #getSunset() sunset}. This day is split into 12 equal parts with |
| * each part being a <em>shaah zmanis</em>. Note that with this system, |
| * each part being a <em>shaah zmanis</em>. Note that with this system, |
| * chatzos (mid-day) will not be the point that the sun is |
| * chatzos (mid-day) will not be the point that the sun is |
| * {@link #getSunTransit() halfway across the sky}. |
| * {@link #getSunTransit() halfway across the sky}. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| * @see #getTzaisAteretTorah() |
| * @see #getTzaisAteretTorah() |
| * @see #getAteretTorahSunsetOffset() |
| * @see #getAteretTorahSunsetOffset() |
| * @see #setAteretTorahSunsetOffset(double) |
| * @see #setAteretTorahSunsetOffset(double) |
| */ |
| */ |
| public long getShaahZmanisAteretTorah() { |
| public long getShaahZmanisAteretTorah() { |
| return getTemporalHour(getAlos72Zmanis(), getTzaisAteretTorah()); |
| return getTemporalHour(getAlos72Zmanis(), getTzaisAteretTorah()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * using a dip of 96 minutes. This calculation divides the day based on the |
| * using a dip of 96 minutes. This calculation divides the day based on the |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * calculation is 96 minutes before sunrise and dusk is 96 minutes after |
| * calculation is 96 minutes before sunrise and dusk is 96 minutes after |
| * sunset. This day is split into 12 equal parts with each part being a |
| * sunset. This day is split into 12 equal parts with each part being a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| */ |
| */ |
| public long getShaahZmanis96Minutes() { |
| public long getShaahZmanis96Minutes() { |
| return getTemporalHour(getAlos96(), getTzais96()); |
| return getTemporalHour(getAlos96(), getTzais96()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * Method to return a <em>shaah zmanis</em> (temporal hour) calculated |
| * using a dip of 120 minutes. This calculation divides the day based on the |
| * using a dip of 120 minutes. This calculation divides the day based on the |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * opinion of the MGA that the day runs from dawn to dusk. Dawn for this |
| * calculation is 120 minutes before sunrise and dusk is 120 minutes after |
| * calculation is 120 minutes before sunrise and dusk is 120 minutes after |
| * sunset. This day is split into 12 equal parts with each part being a |
| * sunset. This day is split into 12 equal parts with each part being a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| */ |
| */ |
| public long getShaahZmanis120Minutes() { |
| public long getShaahZmanis120Minutes() { |
| return getTemporalHour(getAlos120(), getTzais120()); |
| return getTemporalHour(getAlos120(), getTzais120()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * Method to return a <em>shaah zmanis</em> (temporal hour) according to |
| * the opinion of the MGA based on <em>alos</em> being |
| * the opinion of the MGA based on <em>alos</em> being |
| * {@link #getAlos120Zmanis() 120} minutes <em>zmaniyos</em> before |
| * {@link #getAlos120Zmanis() 120} minutes <em>zmaniyos</em> before |
| * {@link #getSunrise() sunrise}. This calculation divides the day based on |
| * {@link #getSunrise() sunrise}. This calculation divides the day based on |
| * the opinion of the <em>MGA</em> that the day runs from dawn to dusk. |
| * the opinion of the <em>MGA</em> that the day runs from dawn to dusk. |
| * Dawn for this calculation is 120 minutes <em>zmaniyos</em> before |
| * Dawn for this calculation is 120 minutes <em>zmaniyos</em> before |
| * sunrise and dusk is 120 minutes <em>zmaniyos</em> after sunset. This |
| * sunrise and dusk is 120 minutes <em>zmaniyos</em> after sunset. This |
| * day is split into 12 equal parts with each part being a |
| * day is split into 12 equal parts with each part being a |
| * <em>shaah zmanis</em>. This is identical to 1/6th of the day from |
| * <em>shaah zmanis</em>. This is identical to 1/6th of the day from |
| * {@link #getSunrise() sunrise} to {@link #getSunset() sunset}. |
| * {@link #getSunrise() sunrise} to {@link #getSunset() sunset}. |
| * |
| * |
| * @return the <code>long</code> millisecond length of a |
| * @return the <code>long</code> millisecond length of a |
| * <em>shaah zmanis</em>. |
| * <em>shaah zmanis</em>. |
| * @see #getAlos120Zmanis() |
| * @see #getAlos120Zmanis() |
| * @see #getTzais120Zmanis() |
| * @see #getTzais120Zmanis() |
| */ |
| */ |
| public long getShaahZmanis120MinutesZmanis() { |
| public long getShaahZmanis120MinutesZmanis() { |
| return getTemporalHour(getAlos120Zmanis(), getTzais120Zmanis()); |
| return getTemporalHour(getAlos120Zmanis(), getTzais120Zmanis()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * calculated as 10.75 hours after {@link #getAlos96Zmanis() dawn}. The |
| * calculated as 10.75 hours after {@link #getAlos96Zmanis() dawn}. The |
| * formula used is:<br/> 10.75 * {@link #getShaahZmanis96MinutesZmanis()} |
| * formula used is:<br/> 10.75 * {@link #getShaahZmanis96MinutesZmanis()} |
| * after {@link #getAlos96Zmanis() dawn}. |
| * after {@link #getAlos96Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha120MinutesZmanis() { |
| public Date getPlagHamincha120MinutesZmanis() { |
| return getTimeOffset(getAlos120Zmanis(), |
| return getTimeOffset(getAlos120Zmanis(), |
| getShaahZmanis120MinutesZmanis() * 10.75); |
| getShaahZmanis120MinutesZmanis() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * calculated as 10.75 hours after {@link #getAlos72() dawn}. The formula |
| * calculated as 10.75 hours after {@link #getAlos72() dawn}. The formula |
| * used is:<br/> 10.75 *{@link #getShaahZmanis72Minutes()} after |
| * used is:<br/> 10.75 *{@link #getShaahZmanis72Minutes()} after |
| * {@link #getAlos72()}. |
| * {@link #getAlos72()}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha120Minutes() { |
| public Date getPlagHamincha120Minutes() { |
| return getTimeOffset(getAlos120(), getShaahZmanis120Minutes() * 10.75); |
| return getTimeOffset(getAlos120(), getShaahZmanis120Minutes() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated using 60 minutes |
| * Method to return <em>alos</em> (dawn) calculated using 60 minutes |
| * before {@link #getSeaLevelSunrise() sea level sunrise} on the time to |
| * before {@link #getSeaLevelSunrise() sea level sunrise} on the time to |
| * walk the distance of 4 <em>Mil</em> at 15 minutes a <em>Mil</em> (the |
| * walk the distance of 4 <em>Mil</em> at 15 minutes a <em>Mil</em> (the |
| * opinion of the Chavas Yair. See the Divray Malkiel). This is based on the |
| * opinion of the Chavas Yair. See the Divray Malkiel). This is based on the |
| * opinion of most <em>Rishonim</em> who stated that the time of the |
| * opinion of most <em>Rishonim</em> who stated that the time of the |
| * <em>Neshef</em> (time between dawn and sunrise) does not vary by the |
| * <em>Neshef</em> (time between dawn and sunrise) does not vary by the |
| * time of year or location but purely depends on the time it takes to walk |
| * time of year or location but purely depends on the time it takes to walk |
| * the distance of 4 <em>Mil</em>. |
| * the distance of 4 <em>Mil</em>. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| */ |
| */ |
| public Date getAlos60() { |
| public Date getAlos60() { |
| return getTimeOffset(getSeaLevelSunrise(), -60 * MINUTE_MILLIS); |
| return getTimeOffset(getSeaLevelSunrise(), -60 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated using 72 minutes |
| * Method to return <em>alos</em> (dawn) calculated using 72 minutes |
| * <em>zmaniyos</em>( <em>GR"A</em> and the <em>Baal Hatanya</em>) |
| * <em>zmaniyos</em>( <em>GR"A</em> and the <em>Baal Hatanya</em>) |
| * or 1/10th of the day before sea level sunrise. This is based on an 18 |
| * or 1/10th of the day before sea level sunrise. This is based on an 18 |
| * minute <em>Mil</em> so the time for 4 <em>Mil</em> is 72 minutes |
| * minute <em>Mil</em> so the time for 4 <em>Mil</em> is 72 minutes |
| * which is 1/10th of a day (12 * 60 = 720) based on the day starting at |
| * which is 1/10th of a day (12 * 60 = 720) based on the day starting at |
| * {@link #getSeaLevelSunrise() sea level sunrise} and ending at |
| * {@link #getSeaLevelSunrise() sea level sunrise} and ending at |
| * {@link #getSeaLevelSunset() sea level sunset}. The actual alculation is |
| * {@link #getSeaLevelSunset() sea level sunset}. The actual alculation is |
| * {@link #getSeaLevelSunrise()}- ( {@link #getShaahZmanisGra()} * 1.2). |
| * {@link #getSeaLevelSunrise()}- ( {@link #getShaahZmanisGra()} * 1.2). |
| * This calculation is used in the calendars published by |
| * This calculation is used in the calendars published by |
| * <em>Hisachdus Harabanim D'Artzos Habris Ve'Kanada</em> |
| * <em>Hisachdus Harabanim D'Artzos Habris Ve'Kanada</em> |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getShaahZmanisGra() |
| * @see #getShaahZmanisGra() |
| */ |
| */ |
| public Date getAlos72Zmanis() { |
| public Date getAlos72Zmanis() { |
| long shaahZmanis = getShaahZmanisGra(); |
| long shaahZmanis = getShaahZmanisGra(); |
| if (shaahZmanis == Long.MIN_VALUE) { |
| if (shaahZmanis == Long.MIN_VALUE) { |
| return null; |
| return null; |
| } |
| } |
| return getTimeOffset(getSeaLevelSunrise(), (long) (shaahZmanis * -1.2)); |
| return getTimeOffset(getSeaLevelSunrise(), (long) (shaahZmanis * -1.2)); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated using 96 minutes |
| * Method to return <em>alos</em> (dawn) calculated using 96 minutes |
| * before {@link #getSeaLevelSunrise() sea level sunrise} based on the time |
| * before {@link #getSeaLevelSunrise() sea level sunrise} based on the time |
| * to walk the distance of 4 <em>Mil</em> at 24 minutes a <em>Mil</em>. |
| * to walk the distance of 4 <em>Mil</em> at 24 minutes a <em>Mil</em>. |
| * This is based on the opinion of most <em>Rishonim</em> who stated that |
| * This is based on the opinion of most <em>Rishonim</em> who stated that |
| * the time of the <em>Neshef</em> (time between dawn and sunrise) does |
| * the time of the <em>Neshef</em> (time between dawn and sunrise) does |
| * not vary by the time of year or location but purely depends on the time |
| * not vary by the time of year or location but purely depends on the time |
| * it takes to walk the distance of 4 <em>Mil</em>. |
| * it takes to walk the distance of 4 <em>Mil</em>. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| */ |
| */ |
| public Date getAlos96() { |
| public Date getAlos96() { |
| return getTimeOffset(getSeaLevelSunrise(), -96 * MINUTE_MILLIS); |
| return getTimeOffset(getSeaLevelSunrise(), -96 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated using 90 minutes |
| * Method to return <em>alos</em> (dawn) calculated using 90 minutes |
| * <em>zmaniyos</em>( <em>GR"A</em> and the <em>Baal Hatanya</em>) |
| * <em>zmaniyos</em>( <em>GR"A</em> and the <em>Baal Hatanya</em>) |
| * or 1/8th of the day before sea level sunrise. This is based on a 22.5 |
| * or 1/8th of the day before sea level sunrise. This is based on a 22.5 |
| * minute <em>Mil</em> so the time for 4 <em>Mil</em> is 90 minutes |
| * minute <em>Mil</em> so the time for 4 <em>Mil</em> is 90 minutes |
| * which is 1/8th of a day (12 * 60 = 720) /8 =90 based on the day starting |
| * which is 1/8th of a day (12 * 60 = 720) /8 =90 based on the day starting |
| * at {@link #getSunrise() sunrise} and ending at |
| * at {@link #getSunrise() sunrise} and ending at |
| * {@link #getSunset() sunset}. The actual calculation is |
| * {@link #getSunset() sunset}. The actual calculation is |
| * {@link #getSunrise()} - ({@link #getShaahZmanisGra()} * 1.5). |
| * {@link #getSunrise()} - ({@link #getShaahZmanisGra()} * 1.5). |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getShaahZmanisGra() |
| * @see #getShaahZmanisGra() |
| */ |
| */ |
| public Date getAlos90Zmanis() { |
| public Date getAlos90Zmanis() { |
| long shaahZmanis = getShaahZmanisGra(); |
| long shaahZmanis = getShaahZmanisGra(); |
| if (shaahZmanis == Long.MIN_VALUE) { |
| if (shaahZmanis == Long.MIN_VALUE) { |
| return null; |
| return null; |
| } |
| } |
| return getTimeOffset(getSeaLevelSunrise(), (long) (shaahZmanis * -1.5)); |
| return getTimeOffset(getSeaLevelSunrise(), (long) (shaahZmanis * -1.5)); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated using 90 minutes |
| * Method to return <em>alos</em> (dawn) calculated using 90 minutes |
| * <em>zmaniyos</em>( <em>GR"A</em> and the <em>Baal Hatanya</em>) |
| * <em>zmaniyos</em>( <em>GR"A</em> and the <em>Baal Hatanya</em>) |
| * or 1/8th of the day before sea level sunrise. This is based on a 24 |
| * or 1/8th of the day before sea level sunrise. This is based on a 24 |
| * minute <em>Mil</em> so the time for 4 <em>Mil</em> is 90 minutes |
| * minute <em>Mil</em> so the time for 4 <em>Mil</em> is 90 minutes |
| * which is 1/7.5th of a day (12 * 60 = 720) / 7.5 =96 based on the day |
| * which is 1/7.5th of a day (12 * 60 = 720) / 7.5 =96 based on the day |
| * starting at {@link #getSunrise() sunrise} and ending at |
| * starting at {@link #getSunrise() sunrise} and ending at |
| * {@link #getSunset() sunset}. The actual calculation is |
| * {@link #getSunset() sunset}. The actual calculation is |
| * {@link #getSunrise()} - ({@link #getShaahZmanisGra()} * 1.6). |
| * {@link #getSunrise()} - ({@link #getShaahZmanisGra()} * 1.6). |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getShaahZmanisGra() |
| * @see #getShaahZmanisGra() |
| */ |
| */ |
| public Date getAlos96Zmanis() { |
| public Date getAlos96Zmanis() { |
| long shaahZmanis = getShaahZmanisGra(); |
| long shaahZmanis = getShaahZmanisGra(); |
| if (shaahZmanis == Long.MIN_VALUE) { |
| if (shaahZmanis == Long.MIN_VALUE) { |
| return null; |
| return null; |
| } |
| } |
| return getTimeOffset(getSeaLevelSunrise(), (long) (shaahZmanis * -1.6)); |
| return getTimeOffset(getSeaLevelSunrise(), (long) (shaahZmanis * -1.6)); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated using 90 minutes |
| * Method to return <em>alos</em> (dawn) calculated using 90 minutes |
| * before {@link #getSeaLevelSunrise() sea level sunrise} on the time to |
| * before {@link #getSeaLevelSunrise() sea level sunrise} on the time to |
| * walk the distance of 4 <em>Mil</em> at 22.5 minutes a <em>Mil</em>. |
| * walk the distance of 4 <em>Mil</em> at 22.5 minutes a <em>Mil</em>. |
| * This is based on the opinion of most <em>Rishonim</em> who stated that |
| * This is based on the opinion of most <em>Rishonim</em> who stated that |
| * the time of the <em>Neshef</em> (time between dawn and sunrise) does |
| * the time of the <em>Neshef</em> (time between dawn and sunrise) does |
| * not vary by the time of year or location but purely depends on the time |
| * not vary by the time of year or location but purely depends on the time |
| * it takes to walk the distance of 4 <em>Mil</em>. |
| * it takes to walk the distance of 4 <em>Mil</em>. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| */ |
| */ |
| public Date getAlos90() { |
| public Date getAlos90() { |
| return getTimeOffset(getSeaLevelSunrise(), -90 * MINUTE_MILLIS); |
| return getTimeOffset(getSeaLevelSunrise(), -90 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated using 120 minutes |
| * Method to return <em>alos</em> (dawn) calculated using 120 minutes |
| * before {@link #getSeaLevelSunrise() sea level sunrise} (no adjustment for |
| * before {@link #getSeaLevelSunrise() sea level sunrise} (no adjustment for |
| * elevation is made) based on the time to walk the distance of 5 |
| * elevation is made) based on the time to walk the distance of 5 |
| * <em>Mil</em>( <em>Ula</em>) at 24 minutes a <em>Mil</em>. This |
| * <em>Mil</em>( <em>Ula</em>) at 24 minutes a <em>Mil</em>. This |
| * is based on the opinion of most <em>Rishonim</em> who stated that the |
| * is based on the opinion of most <em>Rishonim</em> who stated that the |
| * time of the <em>Neshef</em> (time between dawn and sunrise) does not |
| * time of the <em>Neshef</em> (time between dawn and sunrise) does not |
| * vary by the time of year or location but purely depends on the time it |
| * vary by the time of year or location but purely depends on the time it |
| * takes to walk the distance of 5 <em>Mil</em>(<em>Ula</em>). |
| * takes to walk the distance of 5 <em>Mil</em>(<em>Ula</em>). |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| */ |
| */ |
| public Date getAlos120() { |
| public Date getAlos120() { |
| return getTimeOffset(getSeaLevelSunrise(), -120 * MINUTE_MILLIS); |
| return getTimeOffset(getSeaLevelSunrise(), -120 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated using 120 minutes |
| * Method to return <em>alos</em> (dawn) calculated using 120 minutes |
| * <em>zmaniyos</em>( <em>GR"A</em> and the <em>Baal Hatanya</em>) |
| * <em>zmaniyos</em>( <em>GR"A</em> and the <em>Baal Hatanya</em>) |
| * or 1/6th of the day before sea level sunrise. This is based on a 24 |
| * or 1/6th of the day before sea level sunrise. This is based on a 24 |
| * minute <em>Mil</em> so the time for 5 <em>Mil</em> is 120 minutes |
| * minute <em>Mil</em> so the time for 5 <em>Mil</em> is 120 minutes |
| * which is 1/6th of a day (12 * 60 = 720) / 6 =120 based on the day |
| * which is 1/6th of a day (12 * 60 = 720) / 6 =120 based on the day |
| * starting at {@link #getSunrise() sunrise} and ending at |
| * starting at {@link #getSunrise() sunrise} and ending at |
| * {@link #getSunset() sunset}. The actual calculation is |
| * {@link #getSunset() sunset}. The actual calculation is |
| * {@link #getSunrise()} - ({@link #getShaahZmanisGra()} * 2). |
| * {@link #getSunrise()} - ({@link #getShaahZmanisGra()} * 2). |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getShaahZmanisGra() |
| * @see #getShaahZmanisGra() |
| */ |
| */ |
| public Date getAlos120Zmanis() { |
| public Date getAlos120Zmanis() { |
| long shaahZmanis = getShaahZmanisGra(); |
| long shaahZmanis = getShaahZmanisGra(); |
| if (shaahZmanis == Long.MIN_VALUE) { |
| if (shaahZmanis == Long.MIN_VALUE) { |
| return null; |
| return null; |
| } |
| } |
| return getTimeOffset(getSeaLevelSunrise(), shaahZmanis * -2); |
| return getTimeOffset(getSeaLevelSunrise(), shaahZmanis * -2); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated when the sun is |
| * Method to return <em>alos</em> (dawn) calculated when the sun is |
| * {@link #ZENITH_26_DEGREES 26°} below the eastern geometric horizon |
| * {@link #ZENITH_26_DEGREES 26°} below the eastern geometric horizon |
| * before sunrise. This calculation is based on the same calculation of |
| * before sunrise. This calculation is based on the same calculation of |
| * {@link #getAlos120() 120 minutes} but uses a degree based calculation |
| * {@link #getAlos120() 120 minutes} but uses a degree based calculation |
| * instead of 120 exact minutes. This calculation is based on the position |
| * instead of 120 exact minutes. This calculation is based on the position |
| * of the sun 120 minutes before sunrise in Jerusalem in the equinox which |
| * of the sun 120 minutes before sunrise in Jerusalem in the equinox which |
| * calculates to 26° below {@link #GEOMETRIC_ZENITH geometric zenith}. |
| * calculates to 26° below {@link #GEOMETRIC_ZENITH geometric zenith}. |
| * |
| * |
| * @return the <code>Date</code> representing <em>alos</em>. |
| * @return the <code>Date</code> representing <em>alos</em>. |
| * @see #ZENITH_26_DEGREES |
| * @see #ZENITH_26_DEGREES |
| * @see #getAlos120() |
| * @see #getAlos120() |
| * @see #getTzais120() |
| * @see #getTzais120() |
| */ |
| */ |
| public Date getAlos26Degrees() { |
| public Date getAlos26Degrees() { |
| return getSunriseOffsetByDegrees(ZENITH_26_DEGREES); |
| return getSunriseOffsetByDegrees(ZENITH_26_DEGREES); |
| } |
| } |
| |
| |
| /** |
| /** |
| * to return <em>alos</em> (dawn) calculated when the sun is |
| * to return <em>alos</em> (dawn) calculated when the sun is |
| * {@link #ASTRONOMICAL_ZENITH 18°} below the eastern geometric horizon |
| * {@link #ASTRONOMICAL_ZENITH 18°} below the eastern geometric horizon |
| * before sunrise. |
| * before sunrise. |
| * |
| * |
| * @return the <code>Date</code> representing <em>alos</em>. |
| * @return the <code>Date</code> representing <em>alos</em>. |
| * @see #ASTRONOMICAL_ZENITH |
| * @see #ASTRONOMICAL_ZENITH |
| */ |
| */ |
| public Date getAlos18Degrees() { |
| public Date getAlos18Degrees() { |
| return getSunriseOffsetByDegrees(ASTRONOMICAL_ZENITH); |
| return getSunriseOffsetByDegrees(ASTRONOMICAL_ZENITH); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated when the sun is |
| * Method to return <em>alos</em> (dawn) calculated when the sun is |
| * {@link #ZENITH_19_POINT_8 19.8°} below the eastern geometric horizon |
| * {@link #ZENITH_19_POINT_8 19.8°} below the eastern geometric horizon |
| * before sunrise. This calculation is based on the same calculation of |
| * before sunrise. This calculation is based on the same calculation of |
| * {@link #getAlos90() 90 minutes} but uses a degree based calculation |
| * {@link #getAlos90() 90 minutes} but uses a degree based calculation |
| * instead of 90 exact minutes. This calculation is based on the position of |
| * instead of 90 exact minutes. This calculation is based on the position of |
| * the sun 90 minutes before sunrise in Jerusalem in the equinox which |
| * the sun 90 minutes before sunrise in Jerusalem in the equinox which |
| * calculates to 19.8° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * calculates to 19.8° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @return the <code>Date</code> representing <em>alos</em>. |
| * @return the <code>Date</code> representing <em>alos</em>. |
| * @see #ZENITH_19_POINT_8 |
| * @see #ZENITH_19_POINT_8 |
| * @see #getAlos90() |
| * @see #getAlos90() |
| */ |
| */ |
| public Date getAlos19Point8Degrees() { |
| public Date getAlos19Point8Degrees() { |
| return getSunriseOffsetByDegrees(ZENITH_19_POINT_8); |
| return getSunriseOffsetByDegrees(ZENITH_19_POINT_8); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>alos</em> (dawn) calculated when the sun is |
| * Method to return <em>alos</em> (dawn) calculated when the sun is |
| * {@link #ZENITH_16_POINT_1 16.1°} below the eastern geometric horizon |
| * {@link #ZENITH_16_POINT_1 16.1°} below the eastern geometric horizon |
| * before sunrise. This calculation is based on the same calculation of |
| * before sunrise. This calculation is based on the same calculation of |
| * {@link #getAlos72() 72 minutes} but uses a degree based calculation |
| * {@link #getAlos72() 72 minutes} but uses a degree based calculation |
| * instead of 72 exact minutes. This calculation is based on the position of |
| * instead of 72 exact minutes. This calculation is based on the position of |
| * the sun 72 minutes before sunrise in Jerusalem in the equinox which |
| * the sun 72 minutes before sunrise in Jerusalem in the equinox which |
| * calculates to 16.1° below {@link #GEOMETRIC_ZENITH geometric zenith}. |
| * calculates to 16.1° below {@link #GEOMETRIC_ZENITH geometric zenith}. |
| * |
| * |
| * @return the <code>Date</code> representing <em>alos</em>. |
| * @return the <code>Date</code> representing <em>alos</em>. |
| * @see #ZENITH_16_POINT_1 |
| * @see #ZENITH_16_POINT_1 |
| * @see #getAlos72() |
| * @see #getAlos72() |
| */ |
| */ |
| public Date getAlos16Point1Degrees() { |
| public Date getAlos16Point1Degrees() { |
| return getSunriseOffsetByDegrees(ZENITH_16_POINT_1); |
| return getSunriseOffsetByDegrees(ZENITH_16_POINT_1); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns <em>misheyakir</em> based on the position of the |
| * This method returns <em>misheyakir</em> based on the position of the |
| * sun when it is {@link #ZENITH_11_DEGREES 11.5°} below |
| * sun when it is {@link #ZENITH_11_DEGREES 11.5°} below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This calculation |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This calculation |
| * is used for calculating <em>misheyakir</em> according to some opinions. |
| * is used for calculating <em>misheyakir</em> according to some opinions. |
| * This calculation is based on the position of the sun 52 minutes before |
| * This calculation is based on the position of the sun 52 minutes before |
| * {@link #getSunrise sunrise}in Jerusalem in the equinox which calculates |
| * {@link #getSunrise sunrise}in Jerusalem in the equinox which calculates |
| * to 11.5° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * to 11.5° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @see #ZENITH_11_POINT_5 |
| * @see #ZENITH_11_POINT_5 |
| */ |
| */ |
| public Date getMisheyakir11Point5Degrees() { |
| public Date getMisheyakir11Point5Degrees() { |
| return getSunriseOffsetByDegrees(ZENITH_11_POINT_5); |
| return getSunriseOffsetByDegrees(ZENITH_11_POINT_5); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns <em>misheyakir</em> based on the position of the |
| * This method returns <em>misheyakir</em> based on the position of the |
| * sun when it is {@link #ZENITH_11_DEGREES 11°} below |
| * sun when it is {@link #ZENITH_11_DEGREES 11°} below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This calculation |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This calculation |
| * is used for calculating <em>misheyakir</em> according to some opinions. |
| * is used for calculating <em>misheyakir</em> according to some opinions. |
| * This calculation is based on the position of the sun 48 minutes before |
| * This calculation is based on the position of the sun 48 minutes before |
| * {@link #getSunrise sunrise}in Jerusalem in the equinox which calculates |
| * {@link #getSunrise sunrise}in Jerusalem in the equinox which calculates |
| * to 11° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * to 11° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @see #ZENITH_11_DEGREES |
| * @see #ZENITH_11_DEGREES |
| */ |
| */ |
| public Date getMisheyakir11Degrees() { |
| public Date getMisheyakir11Degrees() { |
| return getSunriseOffsetByDegrees(ZENITH_11_DEGREES); |
| return getSunriseOffsetByDegrees(ZENITH_11_DEGREES); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns <em>misheyakir</em> based on the position of the |
| * This method returns <em>misheyakir</em> based on the position of the |
| * sun when it is {@link #ZENITH_10_POINT_2 10.2°} below |
| * sun when it is {@link #ZENITH_10_POINT_2 10.2°} below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This calculation |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). This calculation |
| * is used for calculating <em>misheyakir</em> according to some opinions. |
| * is used for calculating <em>misheyakir</em> according to some opinions. |
| * This calculation is based on the position of the sun 45 minutes before |
| * This calculation is based on the position of the sun 45 minutes before |
| * {@link #getSunrise sunrise} in Jerusalem in the equinox which calculates |
| * {@link #getSunrise sunrise} in Jerusalem in the equinox which calculates |
| * to 10.2° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * to 10.2° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * |
| * |
| * @see #ZENITH_10_POINT_2 |
| * @see #ZENITH_10_POINT_2 |
| */ |
| */ |
| public Date getMisheyakir10Point2Degrees() { |
| public Date getMisheyakir10Point2Degrees() { |
| return getSunriseOffsetByDegrees(ZENITH_10_POINT_2); |
| return getSunriseOffsetByDegrees(ZENITH_10_POINT_2); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos19Point8Degrees()() 19.8°} |
| * <em>alos</em> being {@link #getAlos19Point8Degrees()() 19.8°} |
| * before {@link #getSunrise() sunrise}. This time is 3 |
| * before {@link #getSunrise() sunrise}. This time is 3 |
| * <em>{@link #getShaahZmanis19Point8Degrees() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis19Point8Degrees() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos19Point8Degrees() dawn} based on the opinion |
| * hours) after {@link #getAlos19Point8Degrees() dawn} based on the opinion |
| * of the <em>MG"A</em> that the day is calculated from dawn to nightfall |
| * of the <em>MG"A</em> that the day is calculated from dawn to nightfall |
| * with both being 19.8° below sunrise or sunset. This returns the time |
| * with both being 19.8° below sunrise or sunset. This returns the time |
| * of 3 *{@link #getShaahZmanis19Point8Degrees()} after |
| * of 3 *{@link #getShaahZmanis19Point8Degrees()} after |
| * {@link #getAlos19Point8Degrees() dawn}. |
| * {@link #getAlos19Point8Degrees() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis19Point8Degrees() |
| * @see #getShaahZmanis19Point8Degrees() |
| * @see #getAlos19Point8Degrees() |
| * @see #getAlos19Point8Degrees() |
| */ |
| */ |
| public Date getSofZmanShmaMGA19Point8Degrees() { |
| public Date getSofZmanShmaMGA19Point8Degrees() { |
| return getTimeOffset(getAlos19Point8Degrees(), |
| return getTimeOffset(getAlos19Point8Degrees(), |
| getShaahZmanis19Point8Degrees() * 3); |
| getShaahZmanis19Point8Degrees() * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos16Point1Degrees()() 16.1°} |
| * <em>alos</em> being {@link #getAlos16Point1Degrees()() 16.1°} |
| * before {@link #getSunrise() sunrise}. This time is 3 |
| * before {@link #getSunrise() sunrise}. This time is 3 |
| * <em>{@link #getShaahZmanis16Point1Degrees() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis16Point1Degrees() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos16Point1Degrees() dawn} based on the opinion |
| * hours) after {@link #getAlos16Point1Degrees() dawn} based on the opinion |
| * of the <em>MG"A</em> that the day is calculated from dawn to nightfall |
| * of the <em>MG"A</em> that the day is calculated from dawn to nightfall |
| * with both being 16.1° below sunrise or sunset. This returns the time |
| * with both being 16.1° below sunrise or sunset. This returns the time |
| * of 3 *{@link #getShaahZmanis16Point1Degrees()} after |
| * of 3 *{@link #getShaahZmanis16Point1Degrees()} after |
| * {@link #getAlos16Point1Degrees() dawn}. |
| * {@link #getAlos16Point1Degrees() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getAlos16Point1Degrees() |
| * @see #getAlos16Point1Degrees() |
| */ |
| */ |
| public Date getSofZmanShmaMGA16Point1Degrees() { |
| public Date getSofZmanShmaMGA16Point1Degrees() { |
| return getTimeOffset(getAlos16Point1Degrees(), |
| return getTimeOffset(getAlos16Point1Degrees(), |
| getShaahZmanis16Point1Degrees() * 3); |
| getShaahZmanis16Point1Degrees() * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos72() 72} minutes before |
| * <em>alos</em> being {@link #getAlos72() 72} minutes before |
| * {@link #getSunrise() sunrise}. This time is 3 |
| * {@link #getSunrise() sunrise}. This time is 3 |
| * <em>{@link #getShaahZmanis72Minutes() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis72Minutes() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos72() dawn} based on the opinion of the |
| * hours) after {@link #getAlos72() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos72() dawn} of 72 minutes before sunrise to |
| * {@link #getAlos72() dawn} of 72 minutes before sunrise to |
| * {@link #getTzais72() nightfall} of 72 minutes after sunset. This returns |
| * {@link #getTzais72() nightfall} of 72 minutes after sunset. This returns |
| * the time of 3 * {@link #getShaahZmanis72Minutes()} after |
| * the time of 3 * {@link #getShaahZmanis72Minutes()} after |
| * {@link #getAlos72() dawn}. This class returns an identical time to |
| * {@link #getAlos72() dawn}. This class returns an identical time to |
| * {@link #getSofZmanShmaMGA()} and is repeated here for clarity. |
| * {@link #getSofZmanShmaMGA()} and is repeated here for clarity. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis72Minutes() |
| * @see #getShaahZmanis72Minutes() |
| * @see #getAlos72() |
| * @see #getAlos72() |
| * @see #getSofZmanShmaMGA() |
| * @see #getSofZmanShmaMGA() |
| */ |
| */ |
| public Date getSofZmanShmaMGA72Minutes() { |
| public Date getSofZmanShmaMGA72Minutes() { |
| return getSofZmanShmaMGA(); |
| return getSofZmanShmaMGA(); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos72Zmanis() 72} minutes |
| * <em>alos</em> being {@link #getAlos72Zmanis() 72} minutes |
| * <em>zmaniyos</em>, or 1/10th of the day before |
| * <em>zmaniyos</em>, or 1/10th of the day before |
| * {@link #getSunrise() sunrise}. This time is 3 |
| * {@link #getSunrise() sunrise}. This time is 3 |
| * <em>{@link #getShaahZmanis90MinutesZmanis() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis90MinutesZmanis() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos72Zmanis() dawn} based on the opinion of the |
| * hours) after {@link #getAlos72Zmanis() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos72Zmanis() dawn} of 72 minutes <em>zmaniyos</em>, or |
| * {@link #getAlos72Zmanis() dawn} of 72 minutes <em>zmaniyos</em>, or |
| * 1/10th of the day before {@link #getSeaLevelSunrise() sea level sunrise} |
| * 1/10th of the day before {@link #getSeaLevelSunrise() sea level sunrise} |
| * to {@link #getTzais72Zmanis() nightfall} of 72 minutes <em>zmaniyos</em> |
| * to {@link #getTzais72Zmanis() nightfall} of 72 minutes <em>zmaniyos</em> |
| * after {@link #getSeaLevelSunset() sea level sunset}. This returns the |
| * after {@link #getSeaLevelSunset() sea level sunset}. This returns the |
| * time of 3 * {@link #getShaahZmanis72MinutesZmanis()} after |
| * time of 3 * {@link #getShaahZmanis72MinutesZmanis()} after |
| * {@link #getAlos72Zmanis() dawn}. |
| * {@link #getAlos72Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis72MinutesZmanis() |
| * @see #getShaahZmanis72MinutesZmanis() |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| */ |
| */ |
| public Date getSofZmanShmaMGA72MinutesZmanis() { |
| public Date getSofZmanShmaMGA72MinutesZmanis() { |
| return getTimeOffset(getAlos72Zmanis(), |
| return getTimeOffset(getAlos72Zmanis(), |
| getShaahZmanis72MinutesZmanis() * 3); |
| getShaahZmanis72MinutesZmanis() * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos90() 90} minutes before |
| * <em>alos</em> being {@link #getAlos90() 90} minutes before |
| * {@link #getSunrise() sunrise}. This time is 3 |
| * {@link #getSunrise() sunrise}. This time is 3 |
| * <em>{@link #getShaahZmanis90Minutes() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis90Minutes() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos90() dawn} based on the opinion of the |
| * hours) after {@link #getAlos90() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos90() dawn} of 90 minutes before sunrise to |
| * {@link #getAlos90() dawn} of 90 minutes before sunrise to |
| * {@link #getTzais90() nightfall} of 90 minutes after sunset. This returns |
| * {@link #getTzais90() nightfall} of 90 minutes after sunset. This returns |
| * the time of 3 * {@link #getShaahZmanis90Minutes()} after |
| * the time of 3 * {@link #getShaahZmanis90Minutes()} after |
| * {@link #getAlos90() dawn}. |
| * {@link #getAlos90() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis90Minutes() |
| * @see #getShaahZmanis90Minutes() |
| * @see #getAlos90() |
| * @see #getAlos90() |
| */ |
| */ |
| public Date getSofZmanShmaMGA90Minutes() { |
| public Date getSofZmanShmaMGA90Minutes() { |
| return getTimeOffset(getAlos90(), getShaahZmanis90Minutes() * 3); |
| return getTimeOffset(getAlos90(), getShaahZmanis90Minutes() * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos90Zmanis() 90} minutes |
| * <em>alos</em> being {@link #getAlos90Zmanis() 90} minutes |
| * <em>zmaniyos</em> before {@link #getSunrise() sunrise}. This time is 3 |
| * <em>zmaniyos</em> before {@link #getSunrise() sunrise}. This time is 3 |
| * <em>{@link #getShaahZmanis90MinutesZmanis() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis90MinutesZmanis() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos90Zmanis() dawn} based on the opinion of the |
| * hours) after {@link #getAlos90Zmanis() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos90Zmanis() dawn} of 90 minutes <em>zmaniyos</em> before |
| * {@link #getAlos90Zmanis() dawn} of 90 minutes <em>zmaniyos</em> before |
| * sunrise to {@link #getTzais90Zmanis() nightfall} of 90 minutes |
| * sunrise to {@link #getTzais90Zmanis() nightfall} of 90 minutes |
| * <em>zmaniyos</em> after sunset. This returns the time of 3 * |
| * <em>zmaniyos</em> after sunset. This returns the time of 3 * |
| * {@link #getShaahZmanis90MinutesZmanis()} after |
| * {@link #getShaahZmanis90MinutesZmanis()} after |
| * {@link #getAlos90Zmanis() dawn}. |
| * {@link #getAlos90Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis90MinutesZmanis() |
| * @see #getShaahZmanis90MinutesZmanis() |
| * @see #getAlos90Zmanis() |
| * @see #getAlos90Zmanis() |
| */ |
| */ |
| public Date getSofZmanShmaMGA90MinutesZmanis() { |
| public Date getSofZmanShmaMGA90MinutesZmanis() { |
| return getTimeOffset(getAlos90Zmanis(), |
| return getTimeOffset(getAlos90Zmanis(), |
| getShaahZmanis90MinutesZmanis() * 3); |
| getShaahZmanis90MinutesZmanis() * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos96() 96} minutes before |
| * <em>alos</em> being {@link #getAlos96() 96} minutes before |
| * {@link #getSunrise() sunrise}. This time is 3 |
| * {@link #getSunrise() sunrise}. This time is 3 |
| * <em>{@link #getShaahZmanis96Minutes() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis96Minutes() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos96() dawn} based on the opinion of the |
| * hours) after {@link #getAlos96() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos96() dawn} of 96 minutes before sunrise to |
| * {@link #getAlos96() dawn} of 96 minutes before sunrise to |
| * {@link #getTzais96() nightfall} of 96 minutes after sunset. This returns |
| * {@link #getTzais96() nightfall} of 96 minutes after sunset. This returns |
| * the time of 3 * {@link #getShaahZmanis96Minutes()} after |
| * the time of 3 * {@link #getShaahZmanis96Minutes()} after |
| * {@link #getAlos96() dawn}. |
| * {@link #getAlos96() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis96Minutes() |
| * @see #getShaahZmanis96Minutes() |
| * @see #getAlos96() |
| * @see #getAlos96() |
| */ |
| */ |
| public Date getSofZmanShmaMGA96Minutes() { |
| public Date getSofZmanShmaMGA96Minutes() { |
| return getTimeOffset(getAlos96(), getShaahZmanis96Minutes() * 3); |
| return getTimeOffset(getAlos96(), getShaahZmanis96Minutes() * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos90Zmanis() 96} minutes |
| * <em>alos</em> being {@link #getAlos90Zmanis() 96} minutes |
| * <em>zmaniyos</em> before {@link #getSunrise() sunrise}. This time is 3 |
| * <em>zmaniyos</em> before {@link #getSunrise() sunrise}. This time is 3 |
| * <em>{@link #getShaahZmanis96MinutesZmanis() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis96MinutesZmanis() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos96Zmanis() dawn} based on the opinion of the |
| * hours) after {@link #getAlos96Zmanis() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos96Zmanis() dawn} of 96 minutes <em>zmaniyos</em> before |
| * {@link #getAlos96Zmanis() dawn} of 96 minutes <em>zmaniyos</em> before |
| * sunrise to {@link #getTzais90Zmanis() nightfall} of 96 minutes |
| * sunrise to {@link #getTzais90Zmanis() nightfall} of 96 minutes |
| * <em>zmaniyos</em> after sunset. This returns the time of 3 * |
| * <em>zmaniyos</em> after sunset. This returns the time of 3 * |
| * {@link #getShaahZmanis96MinutesZmanis()} after |
| * {@link #getShaahZmanis96MinutesZmanis()} after |
| * {@link #getAlos96Zmanis() dawn}. |
| * {@link #getAlos96Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis96MinutesZmanis() |
| * @see #getShaahZmanis96MinutesZmanis() |
| * @see #getAlos96Zmanis() |
| * @see #getAlos96Zmanis() |
| */ |
| */ |
| public Date getSofZmanShmaMGA96MinutesZmanis() { |
| public Date getSofZmanShmaMGA96MinutesZmanis() { |
| return getTimeOffset(getAlos96Zmanis(), |
| return getTimeOffset(getAlos96Zmanis(), |
| getShaahZmanis96MinutesZmanis() * 3); |
| getShaahZmanis96MinutesZmanis() * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) calculated as 3 hours (regular and not zmaniyos) |
| * Shema in the morning) calculated as 3 hours (regular and not zmaniyos) |
| * before {@link ZmanimCalendar#getChatzos()}. This is the opinion of the |
| * before {@link ZmanimCalendar#getChatzos()}. This is the opinion of the |
| * <em>Shach</em> in the |
| * <em>Shach</em> in the |
| * <em>Nekudas Hakesef (Yora Deah 184), Shevus Yaakov, Chasan Sofer</em> |
| * <em>Nekudas Hakesef (Yora Deah 184), Shevus Yaakov, Chasan Sofer</em> |
| * and others.This returns the time of 3 hours before |
| * and others.This returns the time of 3 hours before |
| * {@link ZmanimCalendar#getChatzos()}. |
| * {@link ZmanimCalendar#getChatzos()}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see ZmanimCalendar#getChatzos() |
| * @see ZmanimCalendar#getChatzos() |
| * @see #getSofZmanTfila2HoursBeforeChatzos() |
| * @see #getSofZmanTfila2HoursBeforeChatzos() |
| */ |
| */ |
| public Date getSofZmanShma3HoursBeforeChatzos() { |
| public Date getSofZmanShma3HoursBeforeChatzos() { |
| return getTimeOffset(getChatzos(), -180 * MINUTE_MILLIS); |
| return getTimeOffset(getChatzos(), -180 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * Shema in the morning) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos120() 120} minutes or 1/6th of the |
| * <em>alos</em> being {@link #getAlos120() 120} minutes or 1/6th of the |
| * day before {@link #getSunrise() sunrise}. This time is 3 |
| * day before {@link #getSunrise() sunrise}. This time is 3 |
| * <em>{@link #getShaahZmanis120Minutes() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis120Minutes() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos120() dawn} based on the opinion of the |
| * hours) after {@link #getAlos120() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos120() dawn} of 120 minutes before sunrise to |
| * {@link #getAlos120() dawn} of 120 minutes before sunrise to |
| * {@link #getTzais120() nightfall} of 120 minutes after sunset. This |
| * {@link #getTzais120() nightfall} of 120 minutes after sunset. This |
| * returns the time of 3 *{@link #getShaahZmanis120Minutes()} after |
| * returns the time of 3 *{@link #getShaahZmanis120Minutes()} after |
| * {@link #getAlos120() dawn}. |
| * {@link #getAlos120() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis120Minutes() |
| * @see #getShaahZmanis120Minutes() |
| * @see #getAlos120() |
| * @see #getAlos120() |
| */ |
| */ |
| public Date getSofZmanShmaMGA120Minutes() { |
| public Date getSofZmanShmaMGA120Minutes() { |
| return getTimeOffset(getAlos120(), getShaahZmanis120Minutes() * 3); |
| return getTimeOffset(getAlos120(), getShaahZmanis120Minutes() * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) based on the opinion that the day starts at |
| * Shema in the morning) based on the opinion that the day starts at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * {@link #getSunset() sunset}. 3 shaos zmaniyos are calculated based on |
| * {@link #getSunset() sunset}. 3 shaos zmaniyos are calculated based on |
| * this day and added to {@link #getAlos16Point1Degrees() alos}to reach |
| * this day and added to {@link #getAlos16Point1Degrees() alos}to reach |
| * this time. This time is 3 <em>shaos zmaniyos</em> (solar hours) after |
| * this time. This time is 3 <em>shaos zmaniyos</em> (solar hours) after |
| * {@link #getAlos16Point1Degrees() dawn} based on the opinion that the day |
| * {@link #getAlos16Point1Degrees() dawn} based on the opinion that the day |
| * is calculated from a {@link #getAlos16Point1Degrees() alos 16.1°} to |
| * is calculated from a {@link #getAlos16Point1Degrees() alos 16.1°} to |
| * {@link #getSunset() sunset}.<br /> |
| * {@link #getSunset() sunset}.<br /> |
| * <b>Note: </b> Based on this calculation <em>chatzos</em> will not be at |
| * <b>Note: </b> Based on this calculation <em>chatzos</em> will not be at |
| * midday. |
| * midday. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * day. |
| * day. |
| * @see #getAlos16Point1Degrees() |
| * @see #getAlos16Point1Degrees() |
| * @see #getSunset() |
| * @see #getSunset() |
| */ |
| */ |
| public Date getSofZmanShmaAlos16Point1ToSunset() { |
| public Date getSofZmanShmaAlos16Point1ToSunset() { |
| long shaahZmanis = getTemporalHour(getAlos16Point1Degrees(), |
| long shaahZmanis = getTemporalHour(getAlos16Point1Degrees(), |
| getSunset()); |
| getSeaLevelSunset()); |
| return getTimeOffset(getAlos16Point1Degrees(), shaahZmanis * 3); |
| return getTimeOffset(getAlos16Point1Degrees(), shaahZmanis * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) based on the opinion that the day starts at |
| * Shema in the morning) based on the opinion that the day starts at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * {@link #getTzaisGeonim7Point083Degrees() tzais 7.083°}. 3 |
| * {@link #getTzaisGeonim7Point083Degrees() tzais 7.083°}. 3 |
| * <em>shaos zmaniyos</em> are calculated based on this day and added to |
| * <em>shaos zmaniyos</em> are calculated based on this day and added to |
| * {@link #getAlos16Point1Degrees() alos} to reach this time. This time is 3 |
| * {@link #getAlos16Point1Degrees() alos} to reach this time. This time is 3 |
| * <em>shaos zmaniyos</em> (temporal hours) after |
| * <em>shaos zmaniyos</em> (temporal hours) after |
| * {@link #getAlos16Point1Degrees() alos 16.1°} based on the opinion |
| * {@link #getAlos16Point1Degrees() alos 16.1°} based on the opinion |
| * that the day is calculated from a |
| * that the day is calculated from a |
| * {@link #getAlos16Point1Degrees() alos 16.1°} to |
| * {@link #getAlos16Point1Degrees() alos 16.1°} to |
| * <em>{@link #getTzaisGeonim7Point083Degrees() tzais 7.083°}</em>.<br /> |
| * <em>{@link #getTzaisGeonim7Point083Degrees() tzais 7.083°}</em>.<br /> |
| * <b>Note: </b> Based on this calculation <em>chatzos</em> will not be at |
| * <b>Note: </b> Based on this calculation <em>chatzos</em> will not be at |
| * midday. |
| * midday. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * calculation. |
| * calculation. |
| * @see #getAlos16Point1Degrees() |
| * @see #getAlos16Point1Degrees() |
| * @see #getTzaisGeonim7Point083Degrees() |
| * @see #getTzaisGeonim7Point083Degrees() |
| */ |
| */ |
| public Date getSofZmanShmaAlos16Point1ToTzaisGeonim7Point083Degrees() { |
| public Date getSofZmanShmaAlos16Point1ToTzaisGeonim7Point083Degrees() { |
| long shaahZmanis = getTemporalHour(getAlos16Point1Degrees(), |
| long shaahZmanis = getTemporalHour(getAlos16Point1Degrees(), |
| getTzaisGeonim7Point083Degrees()); |
| getTzaisGeonim7Point083Degrees()); |
| return getTimeOffset(getAlos16Point1Degrees(), shaahZmanis * 3); |
| return getTimeOffset(getAlos16Point1Degrees(), shaahZmanis * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * From the GR"A in Kol Eliyahu on Berachos #173 that states that zman krias |
| * From the GR"A in Kol Eliyahu on Berachos #173 that states that zman krias |
| * shema is calculated as half the time from sunrise to fixed local chatzos. |
| * shema is calculated as half the time from sunrise to fixed local chatzos. |
| * The GR"A himself seems to contradic this when he stated that zman krias |
| * The GR"A himself seems to contradic this when he stated that zman krias |
| * shema is 1/4 of the day from sunrise to sunset. See Sarah Lamoed #25 in |
| * shema is 1/4 of the day from sunrise to sunset. See Sarah Lamoed #25 in |
| * Yisroel Vehazmanim Vol III page 1016. |
| * Yisroel Vehazmanim Vol III page 1016. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * calculation. |
| * calculation. |
| * @see #getFixedLocalChatzos() |
| * @see #getFixedLocalChatzos() |
| */ |
| */ |
| public Date getSofZmanShmaKolEliyahu() { |
| public Date getSofZmanShmaKolEliyahu() { |
| Date chatzos = getFixedLocalChatzos(); |
| Date chatzos = getFixedLocalChatzos(); |
| if (chatzos == null || getSunrise() == null) { |
| if (chatzos == null || getSunrise() == null) { |
| return null; |
| return null; |
| } |
| } |
| long diff = (chatzos.getTime() - getSunrise().getTime()) / 2; |
| long diff = (chatzos.getTime() - getSeaLevelSunrise().getTime()) / 2; |
| return getTimeOffset(chatzos, -diff); |
| return getTimeOffset(chatzos, -diff); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos19Point8Degrees()() 19.8°} |
| * <em>alos</em> being {@link #getAlos19Point8Degrees()() 19.8°} |
| * before {@link #getSunrise() sunrise}. This time is 4 |
| * before {@link #getSunrise() sunrise}. This time is 4 |
| * <em>{@link #getShaahZmanis19Point8Degrees() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis19Point8Degrees() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos19Point8Degrees() dawn} based on the opinion |
| * hours) after {@link #getAlos19Point8Degrees() dawn} based on the opinion |
| * of the <em>MG"A</em> that the day is calculated from dawn to nightfall |
| * of the <em>MG"A</em> that the day is calculated from dawn to nightfall |
| * with both being 19.8° below sunrise or sunset. This returns the time |
| * with both being 19.8° below sunrise or sunset. This returns the time |
| * of 4 *{@link #getShaahZmanis19Point8Degrees()} after |
| * of 4 *{@link #getShaahZmanis19Point8Degrees()} after |
| * {@link #getAlos19Point8Degrees() dawn}. |
| * {@link #getAlos19Point8Degrees() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * |
| * |
| * @see #getShaahZmanis19Point8Degrees() |
| * @see #getShaahZmanis19Point8Degrees() |
| * @see #getAlos19Point8Degrees() |
| * @see #getAlos19Point8Degrees() |
| */ |
| */ |
| public Date getSofZmanTfilaMGA19Point8Degrees() { |
| public Date getSofZmanTfilaMGA19Point8Degrees() { |
| return getTimeOffset(getAlos19Point8Degrees(), |
| return getTimeOffset(getAlos19Point8Degrees(), |
| getShaahZmanis19Point8Degrees() * 4); |
| getShaahZmanis19Point8Degrees() * 4); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos19Point8Degrees()() 16.1°} |
| * <em>alos</em> being {@link #getAlos19Point8Degrees()() 16.1°} |
| * before {@link #getSunrise() sunrise}. This time is 4 |
| * before {@link #getSunrise() sunrise}. This time is 4 |
| * <em>{@link #getShaahZmanis16Point1Degrees() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis16Point1Degrees() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos16Point1Degrees() dawn} based on the opinion |
| * hours) after {@link #getAlos16Point1Degrees() dawn} based on the opinion |
| * of the <em>MG"A</em> that the day is calculated from dawn to nightfall |
| * of the <em>MG"A</em> that the day is calculated from dawn to nightfall |
| * with both being 16.1° below sunrise or sunset. This returns the time |
| * with both being 16.1° below sunrise or sunset. This returns the time |
| * of 4 *{@link #getShaahZmanis16Point1Degrees()} after |
| * of 4 *{@link #getShaahZmanis16Point1Degrees()} after |
| * {@link #getAlos16Point1Degrees() dawn}. |
| * {@link #getAlos16Point1Degrees() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * |
| * |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getAlos16Point1Degrees() |
| * @see #getAlos16Point1Degrees() |
| */ |
| */ |
| public Date getSofZmanTfilaMGA16Point1Degrees() { |
| public Date getSofZmanTfilaMGA16Point1Degrees() { |
| return getTimeOffset(getAlos16Point1Degrees(), |
| return getTimeOffset(getAlos16Point1Degrees(), |
| getShaahZmanis16Point1Degrees() * 4); |
| getShaahZmanis16Point1Degrees() * 4); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos72() 72} minutes before |
| * <em>alos</em> being {@link #getAlos72() 72} minutes before |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * <em>{@link #getShaahZmanis72Minutes() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis72Minutes() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos72() dawn} based on the opinion of the |
| * hours) after {@link #getAlos72() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos72() dawn} of 72 minutes before sunrise to |
| * {@link #getAlos72() dawn} of 72 minutes before sunrise to |
| * {@link #getTzais72() nightfall} of 72 minutes after sunset. This returns |
| * {@link #getTzais72() nightfall} of 72 minutes after sunset. This returns |
| * the time of 4 * {@link #getShaahZmanis72Minutes()} after |
| * the time of 4 * {@link #getShaahZmanis72Minutes()} after |
| * {@link #getAlos72() dawn}. This class returns an identical time to |
| * {@link #getAlos72() dawn}. This class returns an identical time to |
| * {@link #getSofZmanTfilaMGA()} and is repeated here for clarity. |
| * {@link #getSofZmanTfilaMGA()} and is repeated here for clarity. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman tfila. |
| * @return the <code>Date</code> of the latest zman tfila. |
| * @see #getShaahZmanis72Minutes() |
| * @see #getShaahZmanis72Minutes() |
| * @see #getAlos72() |
| * @see #getAlos72() |
| * @see #getSofZmanShmaMGA() |
| * @see #getSofZmanShmaMGA() |
| */ |
| */ |
| public Date getSofZmanTfilaMGA72Minutes() { |
| public Date getSofZmanTfilaMGA72Minutes() { |
| return getSofZmanTfilaMGA(); |
| return getSofZmanTfilaMGA(); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to the morning |
| * This method returns the latest <em>zman tfila</em> (time to the morning |
| * prayers) in the opinion of the <em>MG"A</em> based on <em>alos</em> |
| * prayers) in the opinion of the <em>MG"A</em> based on <em>alos</em> |
| * being {@link #getAlos72Zmanis() 72} minutes <em>zmaniyos</em> before |
| * being {@link #getAlos72Zmanis() 72} minutes <em>zmaniyos</em> before |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * <em>{@link #getShaahZmanis72MinutesZmanis() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis72MinutesZmanis() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos72Zmanis() dawn} based on the opinion of the |
| * hours) after {@link #getAlos72Zmanis() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos72Zmanis() dawn} of 72 minutes <em>zmaniyos</em> before |
| * {@link #getAlos72Zmanis() dawn} of 72 minutes <em>zmaniyos</em> before |
| * sunrise to {@link #getTzais72Zmanis() nightfall} of 72 minutes |
| * sunrise to {@link #getTzais72Zmanis() nightfall} of 72 minutes |
| * <em>zmaniyos</em> after sunset. This returns the time of 4 * |
| * <em>zmaniyos</em> after sunset. This returns the time of 4 * |
| * {@link #getShaahZmanis72MinutesZmanis()} after |
| * {@link #getShaahZmanis72MinutesZmanis()} after |
| * {@link #getAlos72Zmanis() dawn}. |
| * {@link #getAlos72Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis72MinutesZmanis() |
| * @see #getShaahZmanis72MinutesZmanis() |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| */ |
| */ |
| public Date getSofZmanTfilaMGA72MinutesZmanis() { |
| public Date getSofZmanTfilaMGA72MinutesZmanis() { |
| return getTimeOffset(getAlos72Zmanis(), |
| return getTimeOffset(getAlos72Zmanis(), |
| getShaahZmanis72MinutesZmanis() * 4); |
| getShaahZmanis72MinutesZmanis() * 4); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos90() 90} minutes before |
| * <em>alos</em> being {@link #getAlos90() 90} minutes before |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * <em>{@link #getShaahZmanis90Minutes() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis90Minutes() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos90() dawn} based on the opinion of the |
| * hours) after {@link #getAlos90() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos90() dawn} of 90 minutes before sunrise to |
| * {@link #getAlos90() dawn} of 90 minutes before sunrise to |
| * {@link #getTzais90() nightfall} of 90 minutes after sunset. This returns |
| * {@link #getTzais90() nightfall} of 90 minutes after sunset. This returns |
| * the time of 4 * {@link #getShaahZmanis90Minutes()} after |
| * the time of 4 * {@link #getShaahZmanis90Minutes()} after |
| * {@link #getAlos90() dawn}. |
| * {@link #getAlos90() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman tfila. |
| * @return the <code>Date</code> of the latest zman tfila. |
| * @see #getShaahZmanis90Minutes() |
| * @see #getShaahZmanis90Minutes() |
| * @see #getAlos90() |
| * @see #getAlos90() |
| */ |
| */ |
| public Date getSofZmanTfilaMGA90Minutes() { |
| public Date getSofZmanTfilaMGA90Minutes() { |
| return getTimeOffset(getAlos90(), getShaahZmanis90Minutes() * 4); |
| return getTimeOffset(getAlos90(), getShaahZmanis90Minutes() * 4); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to the morning |
| * This method returns the latest <em>zman tfila</em> (time to the morning |
| * prayers) in the opinion of the <em>MG"A</em> based on <em>alos</em> |
| * prayers) in the opinion of the <em>MG"A</em> based on <em>alos</em> |
| * being {@link #getAlos90Zmanis() 90} minutes <em>zmaniyos</em> before |
| * being {@link #getAlos90Zmanis() 90} minutes <em>zmaniyos</em> before |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * <em>{@link #getShaahZmanis90MinutesZmanis() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis90MinutesZmanis() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos90Zmanis() dawn} based on the opinion of the |
| * hours) after {@link #getAlos90Zmanis() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos90Zmanis() dawn} of 90 minutes <em>zmaniyos</em> before |
| * {@link #getAlos90Zmanis() dawn} of 90 minutes <em>zmaniyos</em> before |
| * sunrise to {@link #getTzais90Zmanis() nightfall} of 90 minutes |
| * sunrise to {@link #getTzais90Zmanis() nightfall} of 90 minutes |
| * <em>zmaniyos</em> after sunset. This returns the time of 4 * |
| * <em>zmaniyos</em> after sunset. This returns the time of 4 * |
| * {@link #getShaahZmanis90MinutesZmanis()} after |
| * {@link #getShaahZmanis90MinutesZmanis()} after |
| * {@link #getAlos90Zmanis() dawn}. |
| * {@link #getAlos90Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis90MinutesZmanis() |
| * @see #getShaahZmanis90MinutesZmanis() |
| * @see #getAlos90Zmanis() |
| * @see #getAlos90Zmanis() |
| */ |
| */ |
| public Date getSofZmanTfilaMGA90MinutesZmanis() { |
| public Date getSofZmanTfilaMGA90MinutesZmanis() { |
| return getTimeOffset(getAlos90Zmanis(), |
| return getTimeOffset(getAlos90Zmanis(), |
| getShaahZmanis90MinutesZmanis() * 4); |
| getShaahZmanis90MinutesZmanis() * 4); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos96() 96} minutes before |
| * <em>alos</em> being {@link #getAlos96() 96} minutes before |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * <em>{@link #getShaahZmanis96Minutes() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis96Minutes() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos96() dawn} based on the opinion of the |
| * hours) after {@link #getAlos96() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos96() dawn} of 96 minutes before sunrise to |
| * {@link #getAlos96() dawn} of 96 minutes before sunrise to |
| * {@link #getTzais96() nightfall} of 96 minutes after sunset. This returns |
| * {@link #getTzais96() nightfall} of 96 minutes after sunset. This returns |
| * the time of 4 * {@link #getShaahZmanis96Minutes()} after |
| * the time of 4 * {@link #getShaahZmanis96Minutes()} after |
| * {@link #getAlos96() dawn}. |
| * {@link #getAlos96() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman tfila. |
| * @return the <code>Date</code> of the latest zman tfila. |
| * @see #getShaahZmanis96Minutes() |
| * @see #getShaahZmanis96Minutes() |
| * @see #getAlos96() |
| * @see #getAlos96() |
| */ |
| */ |
| public Date getSofZmanTfilaMGA96Minutes() { |
| public Date getSofZmanTfilaMGA96Minutes() { |
| return getTimeOffset(getAlos96(), getShaahZmanis96Minutes() * 4); |
| return getTimeOffset(getAlos96(), getShaahZmanis96Minutes() * 4); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to the morning |
| * This method returns the latest <em>zman tfila</em> (time to the morning |
| * prayers) in the opinion of the <em>MG"A</em> based on <em>alos</em> |
| * prayers) in the opinion of the <em>MG"A</em> based on <em>alos</em> |
| * being {@link #getAlos96Zmanis() 96} minutes <em>zmaniyos</em> before |
| * being {@link #getAlos96Zmanis() 96} minutes <em>zmaniyos</em> before |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * <em>{@link #getShaahZmanis96MinutesZmanis() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis96MinutesZmanis() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos96Zmanis() dawn} based on the opinion of the |
| * hours) after {@link #getAlos96Zmanis() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos96Zmanis() dawn} of 96 minutes <em>zmaniyos</em> before |
| * {@link #getAlos96Zmanis() dawn} of 96 minutes <em>zmaniyos</em> before |
| * sunrise to {@link #getTzais96Zmanis() nightfall} of 96 minutes |
| * sunrise to {@link #getTzais96Zmanis() nightfall} of 96 minutes |
| * <em>zmaniyos</em> after sunset. This returns the time of 4 * |
| * <em>zmaniyos</em> after sunset. This returns the time of 4 * |
| * {@link #getShaahZmanis96MinutesZmanis()} after |
| * {@link #getShaahZmanis96MinutesZmanis()} after |
| * {@link #getAlos96Zmanis() dawn}. |
| * {@link #getAlos96Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis90MinutesZmanis() |
| * @see #getShaahZmanis90MinutesZmanis() |
| * @see #getAlos90Zmanis() |
| * @see #getAlos90Zmanis() |
| */ |
| */ |
| public Date getSofZmanTfilaMGA96MinutesZmanis() { |
| public Date getSofZmanTfilaMGA96MinutesZmanis() { |
| return getTimeOffset(getAlos96Zmanis(), |
| return getTimeOffset(getAlos96Zmanis(), |
| getShaahZmanis96MinutesZmanis() * 4); |
| getShaahZmanis96MinutesZmanis() * 4); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * morning prayers) in the opinion of the <em>MG"A</em> based on |
| * <em>alos</em> being {@link #getAlos120() 120} minutes before |
| * <em>alos</em> being {@link #getAlos120() 120} minutes before |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * {@link #getSunrise() sunrise}. This time is 4 |
| * <em>{@link #getShaahZmanis120Minutes() shaos zmaniyos}</em> (solar |
| * <em>{@link #getShaahZmanis120Minutes() shaos zmaniyos}</em> (solar |
| * hours) after {@link #getAlos120() dawn} based on the opinion of the |
| * hours) after {@link #getAlos120() dawn} based on the opinion of the |
| * <em>MG"A</em> that the day is calculated from a |
| * <em>MG"A</em> that the day is calculated from a |
| * {@link #getAlos120() dawn} of 120 minutes before sunrise to |
| * {@link #getAlos120() dawn} of 120 minutes before sunrise to |
| * {@link #getTzais120() nightfall} of 120 minutes after sunset. This |
| * {@link #getTzais120() nightfall} of 120 minutes after sunset. This |
| * returns the time of 4 *{@link #getShaahZmanis120Minutes()} after |
| * returns the time of 4 *{@link #getShaahZmanis120Minutes()} after |
| * {@link #getAlos120() dawn}. |
| * {@link #getAlos120() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getShaahZmanis120Minutes() |
| * @see #getShaahZmanis120Minutes() |
| * @see #getAlos120() |
| * @see #getAlos120() |
| */ |
| */ |
| public Date getSofZmanTfilaMGA120Minutes() { |
| public Date getSofZmanTfilaMGA120Minutes() { |
| return getTimeOffset(getAlos120(), getShaahZmanis120Minutes() * 4); |
| return getTimeOffset(getAlos120(), getShaahZmanis120Minutes() * 4); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * morning prayers) calculated as 2 hours befor |
| * morning prayers) calculated as 2 hours befor |
| * {@link ZmanimCalendar#getChatzos()}. This is based on the opinions that |
| * {@link ZmanimCalendar#getChatzos()}. This is based on the opinions that |
| * calculate <em>sof zman krias shema</em> as |
| * calculate <em>sof zman krias shema</em> as |
| * {@link #getSofZmanShma3HoursBeforeChatzos()}. This returns the time of 2 |
| * {@link #getSofZmanShma3HoursBeforeChatzos()}. This returns the time of 2 |
| * hours before {@link ZmanimCalendar#getChatzos()}. |
| * hours before {@link ZmanimCalendar#getChatzos()}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see ZmanimCalendar#getChatzos() |
| * @see ZmanimCalendar#getChatzos() |
| * @see #getSofZmanShma3HoursBeforeChatzos() |
| * @see #getSofZmanShma3HoursBeforeChatzos() |
| */ |
| */ |
| public Date getSofZmanTfila2HoursBeforeChatzos() { |
| public Date getSofZmanTfila2HoursBeforeChatzos() { |
| return getTimeOffset(getChatzos(), -120 * MINUTE_MILLIS); |
| return getTimeOffset(getChatzos(), -120 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns mincha gedola calculated as 30 minutes after |
| * This method returns mincha gedola calculated as 30 minutes after |
| * <em>{@link #getChatzos() chatzos}</em> and not 1/2 of a |
| * <em>{@link #getChatzos() chatzos}</em> and not 1/2 of a |
| * <em>{@link #getShaahZmanisGra() shaah zmanis}</em> after |
| * <em>{@link #getShaahZmanisGra() shaah zmanis}</em> after |
| * <em>{@link #getChatzos() chatzos}</em> as calculated by |
| * <em>{@link #getChatzos() chatzos}</em> as calculated by |
| * {@link #getMinchaGedola}. Some use this time to delay the start of |
| * {@link #getMinchaGedola}. Some use this time to delay the start of |
| * mincha in the winter when 1/2 of a |
| * mincha in the winter when 1/2 of a |
| * <em>{@link #getShaahZmanisGra() shaah zmanis}</em> is less than 30 |
| * <em>{@link #getShaahZmanisGra() shaah zmanis}</em> is less than 30 |
| * minutes. See {@link #getMinchaGedolaGreaterThan30()}for a conveniance |
| * minutes. See {@link #getMinchaGedolaGreaterThan30()}for a conveniance |
| * method that returns the later of the 2 calculations. One should not use |
| * method that returns the later of the 2 calculations. One should not use |
| * this time to start <em>mincha</em> before the standard |
| * this time to start <em>mincha</em> before the standard |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. See |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. See |
| * <em>Shulchan Aruch |
| * <em>Shulchan Aruch |
| * Orach Chayim Siman Raish Lamed Gimel seif alef</em> |
| * Orach Chayim Siman Raish Lamed Gimel seif alef</em> |
| * and the <em>Shaar Hatziyon seif katan ches</em>. |
| * and the <em>Shaar Hatziyon seif katan ches</em>. |
| * |
| * |
| * @return the <code>Date</code> of 30 mintes after <em>chatzos</em>. |
| * @return the <code>Date</code> of 30 mintes after <em>chatzos</em>. |
| * @see #getMinchaGedola() |
| * @see #getMinchaGedola() |
| * @see #getMinchaGedolaGreaterThan30() |
| * @see #getMinchaGedolaGreaterThan30() |
| */ |
| */ |
| public Date getMinchaGedola30Minutes() { |
| public Date getMinchaGedola30Minutes() { |
| return getTimeOffset(getChatzos(), MINUTE_MILLIS * 30); |
| return getTimeOffset(getChatzos(), MINUTE_MILLIS * 30); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>mincha gedola</em> according to the |
| * This method returns the time of <em>mincha gedola</em> according to the |
| * Magen Avraham with the day starting 72 minutes before sunrise and ending |
| * Magen Avraham with the day starting 72 minutes before sunrise and ending |
| * 72 minutes after sunset. This is the earliest time to pray |
| * 72 minutes after sunset. This is the earliest time to pray |
| * <em>mincha</em>. For more information on this see the documentation on |
| * <em>mincha</em>. For more information on this see the documentation on |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * as 6.5 {@link #getTemporalHour() solar hours} after alos. The calculation |
| * as 6.5 {@link #getTemporalHour() solar hours} after alos. The calculation |
| * used is 6.5 * {@link #getShaahZmanis72Minutes()} after |
| * used is 6.5 * {@link #getShaahZmanis72Minutes()} after |
| * {@link #getAlos72() alos}. |
| * {@link #getAlos72() alos}. |
| * |
| * |
| * @see #getAlos72()() |
| * @see #getAlos72()() |
| * @see #getMinchaGedola() |
| * @see #getMinchaGedola() |
| * @see #getMinchaKetana() |
| * @see #getMinchaKetana() |
| * @see ZmanimCalendar#getMinchaGedola() |
| * @see ZmanimCalendar#getMinchaGedola() |
| * @return the <code>Date</code> of the time of mincha gedola. |
| * @return the <code>Date</code> of the time of mincha gedola. |
| */ |
| */ |
| public Date getMinchaGedola72Minutes() { |
| public Date getMinchaGedola72Minutes() { |
| return getTimeOffset(getAlos72(), getShaahZmanis72Minutes() * 6.5); |
| return getTimeOffset(getAlos72(), getShaahZmanis72Minutes() * 6.5); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>mincha gedola</em> according to the |
| * This method returns the time of <em>mincha gedola</em> according to the |
| * Magen Avraham with the day starting and ending 16.1° below the |
| * Magen Avraham with the day starting and ending 16.1° below the |
| * horizon. This is the earliest time to pray <em>mincha</em>. For more |
| * horizon. This is the earliest time to pray <em>mincha</em>. For more |
| * information on this see the documentation on |
| * information on this see the documentation on |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * as 6.5 {@link #getTemporalHour() solar hours} after alos. The calculation |
| * as 6.5 {@link #getTemporalHour() solar hours} after alos. The calculation |
| * used is 6.5 * {@link #getShaahZmanis16Point1Degrees()} after |
| * used is 6.5 * {@link #getShaahZmanis16Point1Degrees()} after |
| * {@link #getAlos16Point1Degrees() alos}. |
| * {@link #getAlos16Point1Degrees() alos}. |
| * |
| * |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getMinchaGedola() |
| * @see #getMinchaGedola() |
| * @see #getMinchaKetana() |
| * @see #getMinchaKetana() |
| * @return the <code>Date</code> of the time of mincha gedola. |
| * @return the <code>Date</code> of the time of mincha gedola. |
| */ |
| */ |
| public Date getMinchaGedola16Point1Degrees() { |
| public Date getMinchaGedola16Point1Degrees() { |
| return getTimeOffset(getAlos16Point1Degrees(), |
| return getTimeOffset(getAlos16Point1Degrees(), |
| getShaahZmanis16Point1Degrees() * 6.5); |
| getShaahZmanis16Point1Degrees() * 6.5); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This is a conveniance methd that returns the later of |
| * This is a conveniance methd that returns the later of |
| * {@link #getMinchaGedola()}and {@link #getMinchaGedola30Minutes()}. In |
| * {@link #getMinchaGedola()}and {@link #getMinchaGedola30Minutes()}. In |
| * the winter when a <em>{@link #getShaahZmanisGra() shaah zmanis}</em> is |
| * the winter when a <em>{@link #getShaahZmanisGra() shaah zmanis}</em> is |
| * less than 30 minutes {@link #getMinchaGedola30Minutes()}will be |
| * less than 30 minutes {@link #getMinchaGedola30Minutes()}will be |
| * returned, otherwise {@link #getMinchaGedola()} will be returned. |
| * returned, otherwise {@link #getMinchaGedola()} will be returned. |
| * |
| * |
| * @return the <code>Date</code> of the later of |
| * @return the <code>Date</code> of the later of |
| * {@link #getMinchaGedola()}and |
| * {@link #getMinchaGedola()}and |
| * {@link #getMinchaGedola30Minutes()} |
| * {@link #getMinchaGedola30Minutes()} |
| */ |
| */ |
| public Date getMinchaGedolaGreaterThan30() { |
| public Date getMinchaGedolaGreaterThan30() { |
| if (getMinchaGedola30Minutes() == null || getMinchaGedola() == null) { |
| if (getMinchaGedola30Minutes() == null || getMinchaGedola() == null) { |
| return null; |
| return null; |
| } else { |
| } else { |
| return getMinchaGedola30Minutes().compareTo(getMinchaGedola()) > 0 ? getMinchaGedola30Minutes() |
| return getMinchaGedola30Minutes().compareTo(getMinchaGedola()) > 0 ? getMinchaGedola30Minutes() |
| : getMinchaGedola(); |
| : getMinchaGedola(); |
| } |
| } |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>mincha ketana</em> according to the |
| * This method returns the time of <em>mincha ketana</em> according to the |
| * Magen Avraham with the day starting and ending 16.1° below the |
| * Magen Avraham with the day starting and ending 16.1° below the |
| * horizon. This is the perfered earliest time to pray <em>mincha</em> in |
| * horizon. This is the perfered earliest time to pray <em>mincha</em> in |
| * the opinion of the Ramba"m and others. For more information on this see |
| * the opinion of the Ramba"m and others. For more information on this see |
| * the documentation on <em>{@link #getMinchaGedola() mincha gedola}</em>. |
| * the documentation on <em>{@link #getMinchaGedola() mincha gedola}</em>. |
| * This is calculated as 9.5 {@link #getTemporalHour() solar hours} after |
| * This is calculated as 9.5 {@link #getTemporalHour() solar hours} after |
| * alos. The calculation used is 9.5 * |
| * alos. The calculation used is 9.5 * |
| * {@link #getShaahZmanis16Point1Degrees()} after |
| * {@link #getShaahZmanis16Point1Degrees()} after |
| * {@link #getAlos16Point1Degrees() alos}. |
| * {@link #getAlos16Point1Degrees() alos}. |
| * |
| * |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getMinchaGedola() |
| * @see #getMinchaGedola() |
| * @see #getMinchaKetana() |
| * @see #getMinchaKetana() |
| * @return the <code>Date</code> of the time of mincha ketana. |
| * @return the <code>Date</code> of the time of mincha ketana. |
| */ |
| */ |
| public Date getMinchaKetana16Point1Degrees() { |
| public Date getMinchaKetana16Point1Degrees() { |
| return getTimeOffset(getAlos16Point1Degrees(), |
| return getTimeOffset(getAlos16Point1Degrees(), |
| getShaahZmanis16Point1Degrees() * 9.5); |
| getShaahZmanis16Point1Degrees() * 9.5); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>mincha ketana</em> according to the |
| * This method returns the time of <em>mincha ketana</em> according to the |
| * Magen Avraham with the day starting 72 minutes before sunrise and ending |
| * Magen Avraham with the day starting 72 minutes before sunrise and ending |
| * 72 minutes after sunset. This is the perfered earliest time to pray |
| * 72 minutes after sunset. This is the perfered earliest time to pray |
| * <em>mincha</em> in the opinion of the Ramba"m and others. For more |
| * <em>mincha</em> in the opinion of the Ramba"m and others. For more |
| * information on this see the documentation on |
| * information on this see the documentation on |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * as 9.5 {@link #getShaahZmanis72Minutes()} after alos. The calculation |
| * as 9.5 {@link #getShaahZmanis72Minutes()} after alos. The calculation |
| * used is 9.5 * {@link #getShaahZmanis72Minutes()} after |
| * used is 9.5 * {@link #getShaahZmanis72Minutes()} after |
| * {@link #getAlos72() alos}. |
| * {@link #getAlos72() alos}. |
| * |
| * |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getShaahZmanis16Point1Degrees() |
| * @see #getMinchaGedola() |
| * @see #getMinchaGedola() |
| * @see #getMinchaKetana() |
| * @see #getMinchaKetana() |
| * @return the <code>Date</code> of the time of mincha ketana. |
| * @return the <code>Date</code> of the time of mincha ketana. |
| */ |
| */ |
| public Date getMinchaKetana72Minutes() { |
| public Date getMinchaKetana72Minutes() { |
| return getTimeOffset(getAlos72(), getShaahZmanis72Minutes() * 9.5); |
| return getTimeOffset(getAlos72(), getShaahZmanis72Minutes() * 9.5); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * calculated as 10.75 hours after {@link #getAlos72() dawn}. The formula |
| * calculated as 10.75 hours after {@link #getAlos72() dawn}. The formula |
| * used is:<br/> 10.75 *{@link #getShaahZmanis72Minutes()} after |
| * used is:<br/> 10.75 *{@link #getShaahZmanis72Minutes()} after |
| * {@link #getAlos72()}. |
| * {@link #getAlos72()}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha60Minutes() { |
| public Date getPlagHamincha60Minutes() { |
| return getTimeOffset(getAlos60(), getShaahZmanis60Minutes() * 10.75); |
| return getTimeOffset(getAlos60(), getShaahZmanis60Minutes() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * calculated as 10.75 hours after {@link #getAlos72() dawn}. The formula |
| * calculated as 10.75 hours after {@link #getAlos72() dawn}. The formula |
| * used is:<br/> 10.75 *{@link #getShaahZmanis72Minutes()} after |
| * used is:<br/> 10.75 *{@link #getShaahZmanis72Minutes()} after |
| * {@link #getAlos72()}. |
| * {@link #getAlos72()}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha72Minutes() { |
| public Date getPlagHamincha72Minutes() { |
| return getTimeOffset(getAlos72(), getShaahZmanis72Minutes() * 10.75); |
| return getTimeOffset(getAlos72(), getShaahZmanis72Minutes() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * calculated as 10.75 hours after {@link #getAlos90() dawn}. The formula |
| * calculated as 10.75 hours after {@link #getAlos90() dawn}. The formula |
| * used is:<br/> 10.75 *{@link #getShaahZmanis90Minutes()} after |
| * used is:<br/> 10.75 *{@link #getShaahZmanis90Minutes()} after |
| * {@link #getAlos90()}. |
| * {@link #getAlos90()}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha90Minutes() { |
| public Date getPlagHamincha90Minutes() { |
| return getTimeOffset(getAlos90(), getShaahZmanis90Minutes() * 10.75); |
| return getTimeOffset(getAlos90(), getShaahZmanis90Minutes() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * calculated as 10.75 hours after {@link #getAlos96() dawn}. The formula |
| * calculated as 10.75 hours after {@link #getAlos96() dawn}. The formula |
| * used is:<br/> 10.75 *{@link #getShaahZmanis96Minutes()} after |
| * used is:<br/> 10.75 *{@link #getShaahZmanis96Minutes()} after |
| * {@link #getAlos96()}. |
| * {@link #getAlos96()}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha96Minutes() { |
| public Date getPlagHamincha96Minutes() { |
| return getTimeOffset(getAlos96(), getShaahZmanis96Minutes() * 10.75); |
| return getTimeOffset(getAlos96(), getShaahZmanis96Minutes() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * calculated as 10.75 hours after {@link #getAlos96Zmanis() dawn}. The |
| * calculated as 10.75 hours after {@link #getAlos96Zmanis() dawn}. The |
| * formula used is:<br/> 10.75 * {@link #getShaahZmanis96MinutesZmanis()} |
| * formula used is:<br/> 10.75 * {@link #getShaahZmanis96MinutesZmanis()} |
| * after {@link #getAlos96Zmanis() dawn}. |
| * after {@link #getAlos96Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha96MinutesZmanis() { |
| public Date getPlagHamincha96MinutesZmanis() { |
| return getTimeOffset(getAlos96Zmanis(), |
| return getTimeOffset(getAlos96Zmanis(), |
| getShaahZmanis96MinutesZmanis() * 10.75); |
| getShaahZmanis96MinutesZmanis() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * calculated as 10.75 hours after {@link #getAlos90Zmanis() dawn}. The |
| * calculated as 10.75 hours after {@link #getAlos90Zmanis() dawn}. The |
| * formula used is:<br/> 10.75 * {@link #getShaahZmanis90MinutesZmanis()} |
| * formula used is:<br/> 10.75 * {@link #getShaahZmanis90MinutesZmanis()} |
| * after {@link #getAlos90Zmanis() dawn}. |
| * after {@link #getAlos90Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha90MinutesZmanis() { |
| public Date getPlagHamincha90MinutesZmanis() { |
| return getTimeOffset(getAlos90Zmanis(), |
| return getTimeOffset(getAlos90Zmanis(), |
| getShaahZmanis90MinutesZmanis() * 10.75); |
| getShaahZmanis90MinutesZmanis() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * This method returns the time of <em>plag hamincha</em>. This is |
| * calculated as 10.75 hours after {@link #getAlos72Zmanis() dawn}. The |
| * calculated as 10.75 hours after {@link #getAlos72Zmanis() dawn}. The |
| * formula used is:<br/> 10.75 * {@link #getShaahZmanis72MinutesZmanis()} |
| * formula used is:<br/> 10.75 * {@link #getShaahZmanis72MinutesZmanis()} |
| * after {@link #getAlos72Zmanis() dawn}. |
| * after {@link #getAlos72Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha72MinutesZmanis() { |
| public Date getPlagHamincha72MinutesZmanis() { |
| return getTimeOffset(getAlos72Zmanis(), |
| return getTimeOffset(getAlos72Zmanis(), |
| getShaahZmanis72MinutesZmanis() * 10.75); |
| getShaahZmanis72MinutesZmanis() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * opinion that the day starts at |
| * opinion that the day starts at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * <em>{@link #getTzais16Point1Degrees() tzais 16.1°}</em>. This is |
| * <em>{@link #getTzais16Point1Degrees() tzais 16.1°}</em>. This is |
| * calculated as 10.75 hours <em>zmaniyos</em> after |
| * calculated as 10.75 hours <em>zmaniyos</em> after |
| * {@link #getAlos16Point1Degrees() dawn}. The formula is<br/>10.75 * |
| * {@link #getAlos16Point1Degrees() dawn}. The formula is<br/>10.75 * |
| * {@link #getShaahZmanis16Point1Degrees()} after |
| * {@link #getShaahZmanis16Point1Degrees()} after |
| * {@link #getAlos16Point1Degrees()}. |
| * {@link #getAlos16Point1Degrees()}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha16Point1Degrees() { |
| public Date getPlagHamincha16Point1Degrees() { |
| return getTimeOffset(getAlos16Point1Degrees(), |
| return getTimeOffset(getAlos16Point1Degrees(), |
| getShaahZmanis16Point1Degrees() * 10.75); |
| getShaahZmanis16Point1Degrees() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * opinion that the day starts at |
| * opinion that the day starts at |
| * <em>{@link #getAlos19Point8Degrees() alos 19.8°}</em> and ends at |
| * <em>{@link #getAlos19Point8Degrees() alos 19.8°}</em> and ends at |
| * <em>{@link #getTzais19Point8Degrees() tzais 19.8°}</em>. This is |
| * <em>{@link #getTzais19Point8Degrees() tzais 19.8°}</em>. This is |
| * calculated as 10.75 hours <em>zmaniyos</em> after |
| * calculated as 10.75 hours <em>zmaniyos</em> after |
| * {@link #getAlos19Point8Degrees() dawn}. The formula is<br/>10.75 * |
| * {@link #getAlos19Point8Degrees() dawn}. The formula is<br/>10.75 * |
| * {@link #getShaahZmanis19Point8Degrees()} after |
| * {@link #getShaahZmanis19Point8Degrees()} after |
| * {@link #getAlos19Point8Degrees()}. |
| * {@link #getAlos19Point8Degrees()}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha19Point8Degrees() { |
| public Date getPlagHamincha19Point8Degrees() { |
| return getTimeOffset(getAlos19Point8Degrees(), |
| return getTimeOffset(getAlos19Point8Degrees(), |
| getShaahZmanis19Point8Degrees() * 10.75); |
| getShaahZmanis19Point8Degrees() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * opinion that the day starts at |
| * opinion that the day starts at |
| * <em>{@link #getAlos26Degrees() alos 26°}</em> and ends at |
| * <em>{@link #getAlos26Degrees() alos 26°}</em> and ends at |
| * <em>{@link #getTzais26Degrees() tzais 26°}</em>. This is |
| * <em>{@link #getTzais26Degrees() tzais 26°}</em>. This is |
| * calculated as 10.75 hours <em>zmaniyos</em> after |
| * calculated as 10.75 hours <em>zmaniyos</em> after |
| * {@link #getAlos26Degrees() dawn}. The formula is<br/>10.75 * |
| * {@link #getAlos26Degrees() dawn}. The formula is<br/>10.75 * |
| * {@link #getShaahZmanis26Degrees()} after {@link #getAlos26Degrees()}. |
| * {@link #getShaahZmanis26Degrees()} after {@link #getAlos26Degrees()}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha26Degrees() { |
| public Date getPlagHamincha26Degrees() { |
| return getTimeOffset(getAlos26Degrees(), |
| return getTimeOffset(getAlos26Degrees(), |
| getShaahZmanis26Degrees() * 10.75); |
| getShaahZmanis26Degrees() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * opinion that the day starts at |
| * opinion that the day starts at |
| * <em>{@link #getAlos18Degrees() alos 18°}</em> and ends at |
| * <em>{@link #getAlos18Degrees() alos 18°}</em> and ends at |
| * <em>{@link #getTzais18Degrees() tzais 18°}</em>. This is |
| * <em>{@link #getTzais18Degrees() tzais 18°}</em>. This is |
| * calculated as 10.75 hours <em>zmaniyos</em> after |
| * calculated as 10.75 hours <em>zmaniyos</em> after |
| * {@link #getAlos18Degrees() dawn}. The formula is<br/>10.75 * |
| * {@link #getAlos18Degrees() dawn}. The formula is<br/>10.75 * |
| * {@link #getShaahZmanis18Degrees()} after {@link #getAlos18Degrees()}. |
| * {@link #getShaahZmanis18Degrees()} after {@link #getAlos18Degrees()}. |
| * |
| * |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| * @return the <code>Date</code> of the time of <em>plag hamincha</em>. |
| */ |
| */ |
| public Date getPlagHamincha18Degrees() { |
| public Date getPlagHamincha18Degrees() { |
| return getTimeOffset(getAlos18Degrees(), |
| return getTimeOffset(getAlos18Degrees(), |
| getShaahZmanis18Degrees() * 10.75); |
| getShaahZmanis18Degrees() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * opinion that the day starts at |
| * opinion that the day starts at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * {@link #getSunset() sunset}. 10.75 shaos zmaniyos are calculated based |
| * {@link #getSunset() sunset}. 10.75 shaos zmaniyos are calculated based |
| * on this day and added to {@link #getAlos16Point1Degrees() alos} to reach |
| * on this day and added to {@link #getAlos16Point1Degrees() alos} to reach |
| * this time. This time is 10.75 <em>shaos zmaniyos</em> (temporal hours) |
| * this time. This time is 10.75 <em>shaos zmaniyos</em> (temporal hours) |
| * after {@link #getAlos16Point1Degrees() dawn} based on the opinion that |
| * after {@link #getAlos16Point1Degrees() dawn} based on the opinion that |
| * the day is calculated from a {@link #getAlos16Point1Degrees() dawn} of |
| * the day is calculated from a {@link #getAlos16Point1Degrees() dawn} of |
| * 16.1 degrees before sunrise to {@link #getSunset() sunset}. This returns |
| * 16.1 degrees before sunrise to {@link #getSunset() sunset}. This returns |
| * the time of 10.75 * the calculated <em>shaah zmanis</em> after |
| * the time of 10.75 * the calculated <em>shaah zmanis</em> after |
| * {@link #getAlos16Point1Degrees() dawn}. |
| * {@link #getAlos16Point1Degrees() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the plag. |
| * @return the <code>Date</code> of the plag. |
| * @see #getAlos16Point1Degrees() |
| * @see #getAlos16Point1Degrees() |
| * @see #getSunset() |
| * @see #getSunset() |
| */ |
| */ |
| public Date getPlagAlosToSunset() { |
| public Date getPlagAlosToSunset() { |
| long shaahZmanis = getTemporalHour(getAlos16Point1Degrees(), |
| long shaahZmanis = getTemporalHour(getAlos16Point1Degrees(), |
| getSunset()); |
| getSeaLevelSunset()); |
| return getTimeOffset(getAlos16Point1Degrees(), shaahZmanis * 10.75); |
| return getTimeOffset(getAlos16Point1Degrees(), shaahZmanis * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * opinion that the day starts at |
| * opinion that the day starts at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * <em>{@link #getAlos16Point1Degrees() alos 16.1°}</em> and ends at |
| * {@link #getTzaisGeonim7Point083Degrees() tzais}. 10.75 shaos zmaniyos |
| * {@link #getTzaisGeonim7Point083Degrees() tzais}. 10.75 shaos zmaniyos |
| * are calculated based on this day and added to |
| * are calculated based on this day and added to |
| * {@link #getAlos16Point1Degrees() alos} to reach this time. This time is |
| * {@link #getAlos16Point1Degrees() alos} to reach this time. This time is |
| * 10.75 <em>shaos zmaniyos</em> (temporal hours) after |
| * 10.75 <em>shaos zmaniyos</em> (temporal hours) after |
| * {@link #getAlos16Point1Degrees() dawn} based on the opinion that the day |
| * {@link #getAlos16Point1Degrees() dawn} based on the opinion that the day |
| * is calculated from a {@link #getAlos16Point1Degrees() dawn} of 16.1 |
| * is calculated from a {@link #getAlos16Point1Degrees() dawn} of 16.1 |
| * degrees before sunrise to {@link #getTzaisGeonim7Point083Degrees() tzais}. |
| * degrees before sunrise to {@link #getTzaisGeonim7Point083Degrees() tzais}. |
| * This returns the time of 10.75 * the calculated <em>shaah zmanis</em> |
| * This returns the time of 10.75 * the calculated <em>shaah zmanis</em> |
| * after {@link #getAlos16Point1Degrees() dawn}. |
| * after {@link #getAlos16Point1Degrees() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the plag. |
| * @return the <code>Date</code> of the plag. |
| * @see #getAlos16Point1Degrees() |
| * @see #getAlos16Point1Degrees() |
| * @see #getTzaisGeonim7Point083Degrees() |
| * @see #getTzaisGeonim7Point083Degrees() |
| */ |
| */ |
| public Date getPlagAlos16Point1ToTzaisGeonim7Point083Degrees() { |
| public Date getPlagAlos16Point1ToTzaisGeonim7Point083Degrees() { |
| long shaahZmanis = getTemporalHour(getAlos16Point1Degrees(), |
| long shaahZmanis = getTemporalHour(getAlos16Point1Degrees(), |
| getTzaisGeonim7Point083Degrees()); |
| getTzaisGeonim7Point083Degrees()); |
| return getTimeOffset(getAlos16Point1Degrees(), shaahZmanis * 10.75); |
| return getTimeOffset(getAlos16Point1Degrees(), shaahZmanis * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns Bain Hashmashos of Rabainu Tam calculated as the time |
| * This method returns Bain Hashmashos of Rabainu Tam calculated as the time |
| * the sun is 13° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * the sun is 13° below {@link #GEOMETRIC_ZENITH geometric zenith} |
| * (90°). <br/><br/><b>FIXME:</b> As per Yisroel Vehazmanim Vol III |
| * (90°). <br/><br/><b>FIXME:</b> As per Yisroel Vehazmanim Vol III |
| * page 1028 No 50, the 13° is slightly inaccurate. He lists it as a |
| * page 1028 No 50, the 13° is slightly inaccurate. He lists it as a |
| * drop less than 13°. Calculations show that is seems to be |
| * drop less than 13°. Calculations show that is seems to be |
| * 13.2477° below the horizon at that time. This makes a difference of 1 |
| * 13.2477° below the horizon at that time. This makes a difference of 1 |
| * minute and 10 seconds in Jerusalem in the Equinox, and 1 minute 29 |
| * minute and 10 seconds in Jerusalem in the Equinox, and 1 minute 29 |
| * seconds in the solstice. for NY in the solstice, the difference is 1 |
| * seconds in the solstice. for NY in the solstice, the difference is 1 |
| * minute 56 seconds. |
| * minute 56 seconds. |
| * |
| * |
| * @return the <code>Date</code> of the sun being 13° below |
| * @return the <code>Date</code> of the sun being 13° below |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). |
| * {@link #GEOMETRIC_ZENITH geometric zenith} (90°). |
| * @see #ZENITH_13_DEGREES |
| * @see #ZENITH_13_DEGREES |
| * |
| * |
| */ |
| */ |
| public Date getBainHasmashosRT13Degrees() { |
| public Date getBainHasmashosRT13Degrees() { |
| return getSunsetOffsetByDegrees(ZENITH_13_DEGREES); |
| return getSunsetOffsetByDegrees(ZENITH_13_DEGREES); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns Bain Hashmashos of Rabainu Tam calculated as a 58.5 |
| * This method returns Bain Hashmashos of Rabainu Tam calculated as a 58.5 |
| * minute offset after sunset. Bain hashmashos is 3/4 of a mil before tzais |
| * minute offset after sunset. Bain hashmashos is 3/4 of a mil before tzais |
| * or 3 1/4 mil after sunset. With a mil calculated as 18 minutes, 3.25 * 18 = |
| * or 3 1/4 mil after sunset. With a mil calculated as 18 minutes, 3.25 * 18 = |
| * 58.5 minutes. |
| * 58.5 minutes. |
| * |
| * |
| * @return the <code>Date</code> of 58.5 minutes after sunset |
| * @return the <code>Date</code> of 58.5 minutes after sunset |
| * |
| * |
| */ |
| */ |
| public Date getBainHasmashosRT58Point5Minutes() { |
| public Date getBainHasmashosRT58Point5Minutes() { |
| return getTimeOffset(getSeaLevelSunset(), 58.5 * MINUTE_MILLIS); |
| return getTimeOffset(getSeaLevelSunset(), 58.5 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>bain hashmashos</em> based on the |
| * This method returns the time of <em>bain hashmashos</em> based on the |
| * calculation of 13.5 minutes (3/4 of an 18 minute mil before shkiah |
| * calculation of 13.5 minutes (3/4 of an 18 minute mil before shkiah |
| * calculated as {@link #getTzaisGeonim7Point083Degrees() 7.083°}. |
| * calculated as {@link #getTzaisGeonim7Point083Degrees() 7.083°}. |
| * |
| * |
| * @return the <code>Date</code> of the bain hashmashos of Rabainu Tam in |
| * @return the <code>Date</code> of the bain hashmashos of Rabainu Tam in |
| * this calculation. |
| * this calculation. |
| * @see #getTzaisGeonim7Point083Degrees() |
| * @see #getTzaisGeonim7Point083Degrees() |
| */ |
| */ |
| public Date getBainHasmashosRT13Point5MinutesBefore7Point083Degrees() { |
| public Date getBainHasmashosRT13Point5MinutesBefore7Point083Degrees() { |
| return getTimeOffset(getSunsetOffsetByDegrees(ZENITH_7_POINT_083), |
| return getTimeOffset(getSunsetOffsetByDegrees(ZENITH_7_POINT_083), |
| -13.5 * MINUTE_MILLIS); |
| -13.5 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns <em>bain hashmashos</em> of Rabainu Tam calculated |
| * This method returns <em>bain hashmashos</em> of Rabainu Tam calculated |
| * in the opinion of the Divray Yosef (see Yisrael Vehazmanim) calculated |
| * in the opinion of the Divray Yosef (see Yisrael Vehazmanim) calculated |
| * 5/18th (27.77%) of the time between alos (calculated as 19.8° before |
| * 5/18th (27.77%) of the time between alos (calculated as 19.8° before |
| * sunrise) and sunrise. This is added to sunset to arrive at the time for |
| * sunrise) and sunrise. This is added to sunset to arrive at the time for |
| * bain hashmashos of Rabainu Tam). |
| * bain hashmashos of Rabainu Tam). |
| * |
| * |
| * @return the <code>Date</code> of bain hashmashos of Rabainu Tam for |
| * @return the <code>Date</code> of bain hashmashos of Rabainu Tam for |
| * this calculation. |
| * this calculation. |
| */ |
| */ |
| public Date getBainHasmashosRT2Stars() { |
| public Date getBainHasmashosRT2Stars() { |
| Date alos19Point8 = getAlos19Point8Degrees(); |
| Date alos19Point8 = getAlos19Point8Degrees(); |
| Date sunrise = getSunrise(); |
| Date sunrise = getSeaLevelSunrise(); |
| if (alos19Point8 == null || sunrise == null) { |
| if (alos19Point8 == null || sunrise == null) { |
| return null; |
| return null; |
| } |
| } |
| return getTimeOffset(getSunset(), (sunrise.getTime() - alos19Point8 |
| return getTimeOffset(getSeaLevelSunset(), (sunrise.getTime() - alos19Point8 |
| .getTime()) |
| .getTime()) |
| * (5 / 18d)); |
| * (5 / 18d)); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * of the <em>Geonim</em> calculated at the sun's position at |
| * of the <em>Geonim</em> calculated at the sun's position at |
| * {@link #ZENITH_5_POINT_95 5.95°} below the western horizon. |
| * {@link #ZENITH_5_POINT_95 5.95°} below the western horizon. |
| * |
| * |
| * @return the <code>Date</code> representing the time when the sun is |
| * @return the <code>Date</code> representing the time when the sun is |
| * 5.95° below sea level. |
| * 5.95° below sea level. |
| * @see #ZENITH_5_POINT_95 |
| * @see #ZENITH_5_POINT_95 |
| */ |
| */ |
| // public Date getTzaisGeonim3Point7Degrees() { |
| // public Date getTzaisGeonim3Point7Degrees() { |
| // return getSunsetOffsetByDegrees(ZENITH_3_POINT_7); |
| // return getSunsetOffsetByDegrees(ZENITH_3_POINT_7); |
| // } |
| // } |
| /** |
| /** |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * of the <em>Geonim</em> calculated at the sun's position at |
| * of the <em>Geonim</em> calculated at the sun's position at |
| * {@link #ZENITH_5_POINT_95 5.95°} below the western horizon. |
| * {@link #ZENITH_5_POINT_95 5.95°} below the western horizon. |
| * |
| * |
| * @return the <code>Date</code> representing the time when the sun is |
| * @return the <code>Date</code> representing the time when the sun is |
| * 5.95° below sea level. |
| * 5.95° below sea level. |
| * @see #ZENITH_5_POINT_95 |
| * @see #ZENITH_5_POINT_95 |
| */ |
| */ |
| public Date getTzaisGeonim5Point95Degrees() { |
| public Date getTzaisGeonim5Point95Degrees() { |
| return getSunsetOffsetByDegrees(ZENITH_5_POINT_95); |
| return getSunsetOffsetByDegrees(ZENITH_5_POINT_95); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * of the <em>Geonim</em> calculated at the sun's position at |
| * of the <em>Geonim</em> calculated at the sun's position at |
| * {@link #ZENITH_7_POINT_083 7.083°} below the western horizon. |
| * {@link #ZENITH_7_POINT_083 7.083°} below the western horizon. |
| * |
| * |
| * @return the <code>Date</code> representing the time when the sun is |
| * @return the <code>Date</code> representing the time when the sun is |
| * 7.083° below sea level. |
| * 7.083° below sea level. |
| * @see #ZENITH_7_POINT_083 |
| * @see #ZENITH_7_POINT_083 |
| */ |
| */ |
| public Date getTzaisGeonim7Point083Degrees() { |
| public Date getTzaisGeonim7Point083Degrees() { |
| return getSunsetOffsetByDegrees(ZENITH_7_POINT_083); |
| return getSunsetOffsetByDegrees(ZENITH_7_POINT_083); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * of the <em>Geonim</em> calculated at the sun's position at |
| * of the <em>Geonim</em> calculated at the sun's position at |
| * {@link #ZENITH_8_POINT_5 8.5°} below the western horizon. |
| * {@link #ZENITH_8_POINT_5 8.5°} below the western horizon. |
| * |
| * |
| * @return the <code>Date</code> representing the time when the sun is |
| * @return the <code>Date</code> representing the time when the sun is |
| * 8.5° below sea level. |
| * 8.5° below sea level. |
| * @see #ZENITH_8_POINT_5 |
| * @see #ZENITH_8_POINT_5 |
| */ |
| */ |
| public Date getTzaisGeonim8Point5Degrees() { |
| public Date getTzaisGeonim8Point5Degrees() { |
| return getSunsetOffsetByDegrees(ZENITH_8_POINT_5); |
| return getSunsetOffsetByDegrees(ZENITH_8_POINT_5); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * This method returns the <em>tzais</em> (nightfall) based on the opinion |
| * of the Chavas Yair and Divray Malkiel that the time to walk the distance |
| * of the Chavas Yair and Divray Malkiel that the time to walk the distance |
| * of a Mil is 15 minutes for a total of 60 minutes for 4 mil after sea |
| * of a Mil is 15 minutes for a total of 60 minutes for 4 mil after sea |
| * level sunset. |
| * level sunset. |
| * |
| * |
| * @return the <code>Date</code> representing 60 minutes after sea level |
| * @return the <code>Date</code> representing 60 minutes after sea level |
| * sunset. |
| * sunset. |
| * @see #getAlos60() |
| * @see #getAlos60() |
| */ |
| */ |
| public Date getTzais60() { |
| public Date getTzais60() { |
| return getTimeOffset(getSeaLevelSunset(), 60 * MINUTE_MILLIS); |
| return getTimeOffset(getSeaLevelSunset(), 60 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns tzais usually calculated as 40 minutes after sunset. |
| * This method returns tzais usually calculated as 40 minutes after sunset. |
| * Please note that Chacham Yosef Harari-Raful of Yeshivat Ateret Torah who |
| * Please note that Chacham Yosef Harari-Raful of Yeshivat Ateret Torah who |
| * uses this time, does so only for calculating various other zmanai hayom |
| * uses this time, does so only for calculating various other zmanai hayom |
| * such as Sof Zman Krias Shema and Plag Hamincha. His calendars do not |
| * such as Sof Zman Krias Shema and Plag Hamincha. His calendars do not |
| * publish a zman for Tzais. It should also be noted that Chacham |
| * publish a zman for Tzais. It should also be noted that Chacham |
| * Harari-Raful provided a 25 minute zman for Israel. This API uses 40 |
| * Harari-Raful provided a 25 minute zman for Israel. This API uses 40 |
| * minutes year round in any place on the globe by default. This offset can |
| * minutes year round in any place on the globe by default. This offset can |
| * be changed by calling {@link #setAteretTorahSunsetOffset(double)}. |
| * be changed by calling {@link #setAteretTorahSunsetOffset(double)}. |
| * |
| * |
| * @return the <code>Date</code> representing 40 minutes after sea level |
| * @return the <code>Date</code> representing 40 minutes after sea level |
| * sunset |
| * sunset |
| * @see #getAteretTorahSunsetOffset() |
| * @see #getAteretTorahSunsetOffset() |
| * @see #setAteretTorahSunsetOffset(double) |
| * @see #setAteretTorahSunsetOffset(double) |
| */ |
| */ |
| public Date getTzaisAteretTorah() { |
| public Date getTzaisAteretTorah() { |
| return getTimeOffset(getSeaLevelSunset(), getAteretTorahSunsetOffset() |
| return getTimeOffset(getSeaLevelSunset(), getAteretTorahSunsetOffset() |
| * MINUTE_MILLIS); |
| * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Returns the offset in minutes after sunset used to calculate |
| * Returns the offset in minutes after sunset used to calculate |
| * <em>tzais</em> for the Ateret Torah zmanim. The defaullt value is 40 |
| * <em>tzais</em> for the Ateret Torah zmanim. The defaullt value is 40 |
| * minutes. |
| * minutes. |
| * |
| * |
| * @return the number of minutes after sunset for Tzais. |
| * @return the number of minutes after sunset for Tzais. |
| * @see #setAteretTorahSunsetOffset(double) |
| * @see #setAteretTorahSunsetOffset(double) |
| */ |
| */ |
| public double getAteretTorahSunsetOffset() { |
| public double getAteretTorahSunsetOffset() { |
| return ateretTorahSunsetOffset; |
| return ateretTorahSunsetOffset; |
| } |
| } |
| |
| |
| /** |
| /** |
| * Allows setting the offset in minutes after sunset for the Ateret Torah |
| * Allows setting the offset in minutes after sunset for the Ateret Torah |
| * zmanim. The default if unset is 40 minutes. Chacham Yosef Harari-Raful of |
| * zmanim. The default if unset is 40 minutes. Chacham Yosef Harari-Raful of |
| * Yeshivat Ateret Torah uses 40 minutes globally with the exception of |
| * Yeshivat Ateret Torah uses 40 minutes globally with the exception of |
| * Israel where a 25 minute offset is used. This 25 minute (or any other) |
| * Israel where a 25 minute offset is used. This 25 minute (or any other) |
| * offset can be overridden by this methd. This offset impacts all Ateret |
| * offset can be overridden by this methd. This offset impacts all Ateret |
| * Torah methods. |
| * Torah methods. |
| * |
| * |
| * @param ateretTorahSunsetOffset |
| * @param ateretTorahSunsetOffset |
| * the number of minutes after sunset to use as an offset for the |
| * the number of minutes after sunset to use as an offset for the |
| * Ateret Torah <em>tzais</em> |
| * Ateret Torah <em>tzais</em> |
| * @see #getAteretTorahSunsetOffset() |
| * @see #getAteretTorahSunsetOffset() |
| */ |
| */ |
| public void setAteretTorahSunsetOffset(double ateretTorahSunsetOffset) { |
| public void setAteretTorahSunsetOffset(double ateretTorahSunsetOffset) { |
| this.ateretTorahSunsetOffset = ateretTorahSunsetOffset; |
| this.ateretTorahSunsetOffset = ateretTorahSunsetOffset; |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * This method returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) based on the calculation of Chacham Yosef |
| * Shema in the morning) based on the calculation of Chacham Yosef |
| * Harari-Raful of Yeshivat Ateret Torah, that the day starts |
| * Harari-Raful of Yeshivat Ateret Torah, that the day starts |
| * {@link #getAlos72Zmanis() 1/10th of the day} before sunrise and is |
| * {@link #getAlos72Zmanis() 1/10th of the day} before sunrise and is |
| * usually calculated as ending |
| * usually calculated as ending |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. |
| * <em>shaos zmaniyos</em> are calculated based on this day and added to |
| * <em>shaos zmaniyos</em> are calculated based on this day and added to |
| * {@link #getAlos72Zmanis() alos} to reach this time. This time is 3 |
| * {@link #getAlos72Zmanis() alos} to reach this time. This time is 3 |
| * <em> {@link #getShaahZmanisAteretTorah() shaos zmaniyos}</em> (temporal |
| * <em> {@link #getShaahZmanisAteretTorah() shaos zmaniyos}</em> (temporal |
| * hours) after {@link #getAlos72Zmanis() alos 72 zmaniyos}.<br /> |
| * hours) after {@link #getAlos72Zmanis() alos 72 zmaniyos}.<br /> |
| * <b>Note: </b> Based on this calculation <em>chatzos</em> will not be at |
| * <b>Note: </b> Based on this calculation <em>chatzos</em> will not be at |
| * midday. |
| * midday. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * calculation. |
| * calculation. |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| * @see #getTzaisAteretTorah() |
| * @see #getTzaisAteretTorah() |
| * @see #getAteretTorahSunsetOffset() |
| * @see #getAteretTorahSunsetOffset() |
| * @see #setAteretTorahSunsetOffset(double) |
| * @see #setAteretTorahSunsetOffset(double) |
| * @see #getShaahZmanisAteretTorah() |
| * @see #getShaahZmanisAteretTorah() |
| */ |
| */ |
| public Date getSofZmanShmaAteretTorah() { |
| public Date getSofZmanShmaAteretTorah() { |
| return getTimeOffset(getAlos72Zmanis(), getShaahZmanisAteretTorah() * 3); |
| return getTimeOffset(getAlos72Zmanis(), getShaahZmanisAteretTorah() * 3); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * morning prayers) based on the calculation of Chacham Yosef Harari-Raful |
| * morning prayers) based on the calculation of Chacham Yosef Harari-Raful |
| * of Yeshivat Ateret Torah, that the day starts |
| * of Yeshivat Ateret Torah, that the day starts |
| * {@link #getAlos72Zmanis() 1/10th of the day} before sunrise and and is |
| * {@link #getAlos72Zmanis() 1/10th of the day} before sunrise and and is |
| * usually calculated as ending |
| * usually calculated as ending |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. |
| * <em>shaos zmaniyos</em> are calculated based on this day and added to |
| * <em>shaos zmaniyos</em> are calculated based on this day and added to |
| * {@link #getAlos72Zmanis() alos} to reach this time. This time is 4 |
| * {@link #getAlos72Zmanis() alos} to reach this time. This time is 4 |
| * <em>{@link #getShaahZmanisAteretTorah() shaos zmaniyos}</em> (temporal |
| * <em>{@link #getShaahZmanisAteretTorah() shaos zmaniyos}</em> (temporal |
| * hours) after {@link #getAlos72Zmanis() alos 72 zmaniyos}.<br /> |
| * hours) after {@link #getAlos72Zmanis() alos 72 zmaniyos}.<br /> |
| * <b>Note: </b> Based on this calculation <em>chatzos</em> will not be at |
| * <b>Note: </b> Based on this calculation <em>chatzos</em> will not be at |
| * midday. |
| * midday. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * @return the <code>Date</code> of the latest zman shema based on this |
| * calculation. |
| * calculation. |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| * @see #getTzaisAteretTorah() |
| * @see #getTzaisAteretTorah() |
| * @see #getShaahZmanisAteretTorah() |
| * @see #getShaahZmanisAteretTorah() |
| * @see #setAteretTorahSunsetOffset(double) |
| * @see #setAteretTorahSunsetOffset(double) |
| */ |
| */ |
| public Date getSofZmanTfilahAteretTorah() { |
| public Date getSofZmanTfilahAteretTorah() { |
| return getTimeOffset(getAlos72Zmanis(), getShaahZmanisAteretTorah() * 4); |
| return getTimeOffset(getAlos72Zmanis(), getShaahZmanisAteretTorah() * 4); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>mincha gedola</em> based on the |
| * This method returns the time of <em>mincha gedola</em> based on the |
| * calculation of Chacham Yosef Harari-Raful of Yeshivat Ateret Torah, that |
| * calculation of Chacham Yosef Harari-Raful of Yeshivat Ateret Torah, that |
| * the day starts {@link #getAlos72Zmanis() 1/10th of the day} before |
| * the day starts {@link #getAlos72Zmanis() 1/10th of the day} before |
| * sunrise and and is usually calculated as ending |
| * sunrise and and is usually calculated as ending |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. This is the |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. This is the |
| * perfered earliest time to pray <em>mincha</em> in the opinion of the |
| * perfered earliest time to pray <em>mincha</em> in the opinion of the |
| * Ramba"m and others. For more information on this see the documentation on |
| * Ramba"m and others. For more information on this see the documentation on |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * as 6.5 {@link #getShaahZmanisAteretTorah() solar hours} after alos. The |
| * as 6.5 {@link #getShaahZmanisAteretTorah() solar hours} after alos. The |
| * calculation used is 6.5 * {@link #getShaahZmanisAteretTorah()} after |
| * calculation used is 6.5 * {@link #getShaahZmanisAteretTorah()} after |
| * {@link #getAlos72Zmanis() alos}. |
| * {@link #getAlos72Zmanis() alos}. |
| * |
| * |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| * @see #getTzaisAteretTorah() |
| * @see #getTzaisAteretTorah() |
| * @see #getShaahZmanisAteretTorah() |
| * @see #getShaahZmanisAteretTorah() |
| * @see #getMinchaGedola() |
| * @see #getMinchaGedola() |
| * @see #getMinchaKetanaAteretTorah() |
| * @see #getMinchaKetanaAteretTorah() |
| * @see ZmanimCalendar#getMinchaGedola() |
| * @see ZmanimCalendar#getMinchaGedola() |
| * @return the <code>Date</code> of the time of mincha gedola. |
| * @return the <code>Date</code> of the time of mincha gedola. |
| */ |
| */ |
| public Date getMinchaGedolaAteretTorah() { |
| public Date getMinchaGedolaAteretTorah() { |
| return getTimeOffset(getAlos72Zmanis(), |
| return getTimeOffset(getAlos72Zmanis(), |
| getShaahZmanisAteretTorah() * 6.5); |
| getShaahZmanisAteretTorah() * 6.5); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>mincha ketana</em> based on the |
| * This method returns the time of <em>mincha ketana</em> based on the |
| * calculation of Chacham Yosef Harari-Raful of Yeshivat Ateret Torah, that |
| * calculation of Chacham Yosef Harari-Raful of Yeshivat Ateret Torah, that |
| * the day starts {@link #getAlos72Zmanis() 1/10th of the day} before |
| * the day starts {@link #getAlos72Zmanis() 1/10th of the day} before |
| * sunrise and and is usually calculated as ending |
| * sunrise and and is usually calculated as ending |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. This is the |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. This is the |
| * perfered earliest time to pray <em>mincha</em> in the opinion of the |
| * perfered earliest time to pray <em>mincha</em> in the opinion of the |
| * Ramba"m and others. For more information on this see the documentation on |
| * Ramba"m and others. For more information on this see the documentation on |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * <em>{@link #getMinchaGedola() mincha gedola}</em>. This is calculated |
| * as 9.5 {@link #getShaahZmanisAteretTorah() solar hours} after |
| * as 9.5 {@link #getShaahZmanisAteretTorah() solar hours} after |
| * {@link #getAlos72Zmanis() alos}. The calculation used is 9.5 * |
| * {@link #getAlos72Zmanis() alos}. The calculation used is 9.5 * |
| * {@link #getShaahZmanisAteretTorah()} after |
| * {@link #getShaahZmanisAteretTorah()} after |
| * {@link #getAlos72Zmanis() alos}. |
| * {@link #getAlos72Zmanis() alos}. |
| * |
| * |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| * @see #getTzaisAteretTorah() |
| * @see #getTzaisAteretTorah() |
| * @see #getShaahZmanisAteretTorah() |
| * @see #getShaahZmanisAteretTorah() |
| * @see #getMinchaGedola() |
| * @see #getMinchaGedola() |
| * @see #getMinchaKetana() |
| * @see #getMinchaKetana() |
| * @return the <code>Date</code> of the time of mincha ketana. |
| * @return the <code>Date</code> of the time of mincha ketana. |
| */ |
| */ |
| public Date getMinchaKetanaAteretTorah() { |
| public Date getMinchaKetanaAteretTorah() { |
| return getTimeOffset(getAlos72Zmanis(), |
| return getTimeOffset(getAlos72Zmanis(), |
| getShaahZmanisAteretTorah() * 9.5); |
| getShaahZmanisAteretTorah() * 9.5); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * This method returns the time of <em>plag hamincha</em> based on the |
| * calculation of Chacham Yosef Harari-Raful of Yeshivat Ateret Torah, that |
| * calculation of Chacham Yosef Harari-Raful of Yeshivat Ateret Torah, that |
| * the day starts {@link #getAlos72Zmanis() 1/10th of the day} before |
| * the day starts {@link #getAlos72Zmanis() 1/10th of the day} before |
| * sunrise and and is usually calculated as ending |
| * sunrise and and is usually calculated as ending |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. |
| * {@link #getTzaisAteretTorah() 40 minutes after sunset}. |
| * <em>shaos zmaniyos</em> are calculated based on this day and added to |
| * <em>shaos zmaniyos</em> are calculated based on this day and added to |
| * {@link #getAlos72Zmanis() alos} to reach this time. This time is 10.75 |
| * {@link #getAlos72Zmanis() alos} to reach this time. This time is 10.75 |
| * <em>{@link #getShaahZmanisAteretTorah() shaos zmaniyos}</em> (temporal |
| * <em>{@link #getShaahZmanisAteretTorah() shaos zmaniyos}</em> (temporal |
| * hours) after {@link #getAlos72Zmanis() dawn}. |
| * hours) after {@link #getAlos72Zmanis() dawn}. |
| * |
| * |
| * @return the <code>Date</code> of the plag. |
| * @return the <code>Date</code> of the plag. |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| * @see #getTzaisAteretTorah() |
| * @see #getTzaisAteretTorah() |
| * @see #getShaahZmanisAteretTorah() |
| * @see #getShaahZmanisAteretTorah() |
| */ |
| */ |
| public Date getPlagHaminchaAteretTorah() { |
| public Date getPlagHaminchaAteretTorah() { |
| return getTimeOffset(getAlos72Zmanis(), |
| return getTimeOffset(getAlos72Zmanis(), |
| getShaahZmanisAteretTorah() * 10.75); |
| getShaahZmanisAteretTorah() * 10.75); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the time of <em>misheyakir</em> based on the common |
| * This method returns the time of <em>misheyakir</em> based on the common |
| * calculation of the Syrian community in NY that the alos is a fixed minute |
| * calculation of the Syrian community in NY that the alos is a fixed minute |
| * offset from day starting {@link #getAlos72Zmanis() 1/10th of the day} |
| * offset from day starting {@link #getAlos72Zmanis() 1/10th of the day} |
| * before sunrise. The common offsets are 6 minutes (based on th Pri |
| * before sunrise. The common offsets are 6 minutes (based on th Pri |
| * Megadim, but not linked to the calculation of Alos as 1/10th of the day), |
| * Megadim, but not linked to the calculation of Alos as 1/10th of the day), |
| * 8 and 18 minutes (possibly attributed to Chacham Baruch Ben Haim). Since |
| * 8 and 18 minutes (possibly attributed to Chacham Baruch Ben Haim). Since |
| * there is no universal accepted offset, the user of this API will have to |
| * there is no universal accepted offset, the user of this API will have to |
| * specify one. Chacham Yosef Harari-Raful of Yeshivat Ateret Torah does not |
| * specify one. Chacham Yosef Harari-Raful of Yeshivat Ateret Torah does not |
| * supply any zman for misheyakir and does not endorse any specific |
| * supply any zman for misheyakir and does not endorse any specific |
| * calculation for misheyakir. For that reason, this method is not enabled. |
| * calculation for misheyakir. For that reason, this method is not enabled. |
| * |
| * |
| * @param minutes |
| * @param minutes |
| * the number of minutes after alos calculated as |
| * the number of minutes after alos calculated as |
| * {@link #getAlos72Zmanis() 1/10th of the day} |
| * {@link #getAlos72Zmanis() 1/10th of the day} |
| * @return the <code>Date</code> of misheyakir |
| * @return the <code>Date</code> of misheyakir |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| */ |
| */ |
| // public Date getMesheyakirAteretTorah(double minutes) { |
| // public Date getMesheyakirAteretTorah(double minutes) { |
| // return getTimeOffset(getAlos72Zmanis(), minutes * MINUTE_MILLIS); |
| // return getTimeOffset(getAlos72Zmanis(), minutes * MINUTE_MILLIS); |
| // } |
| // } |
| /** |
| /** |
| * Method to return <em>tzais</em> (dusk) calculated as 72 minutes |
| * Method to return <em>tzais</em> (dusk) calculated as 72 minutes |
| * zmaniyos, or 1/10th of the day after |
| * zmaniyos, or 1/10th of the day after |
| * {@link #getSeaLevelSunset() sea level sunset}. |
| * {@link #getSeaLevelSunset() sea level sunset}. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getAlos72Zmanis() |
| * @see #getAlos72Zmanis() |
| */ |
| */ |
| public Date getTzais72Zmanis() { |
| public Date getTzais72Zmanis() { |
| long shaahZmanis = getShaahZmanisGra(); |
| long shaahZmanis = getShaahZmanisGra(); |
| if (shaahZmanis == Long.MIN_VALUE) { |
| if (shaahZmanis == Long.MIN_VALUE) { |
| return null; |
| return null; |
| } |
| } |
| return getTimeOffset(getSeaLevelSunset(), shaahZmanis * 1.2); |
| return getTimeOffset(getSeaLevelSunset(), shaahZmanis * 1.2); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>tzais</em> (dusk) calculated using 90 minutes |
| * Method to return <em>tzais</em> (dusk) calculated using 90 minutes |
| * zmaniyos (<em>GR"A</em> and the <em>Baal Hatanya</em>) after |
| * zmaniyos (<em>GR"A</em> and the <em>Baal Hatanya</em>) after |
| * {@link #getSeaLevelSunset() sea level sunset}. |
| * {@link #getSeaLevelSunset() sea level sunset}. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getAlos90Zmanis() |
| * @see #getAlos90Zmanis() |
| */ |
| */ |
| public Date getTzais90Zmanis() { |
| public Date getTzais90Zmanis() { |
| long shaahZmanis = getShaahZmanisGra(); |
| long shaahZmanis = getShaahZmanisGra(); |
| if (shaahZmanis == Long.MIN_VALUE) { |
| if (shaahZmanis == Long.MIN_VALUE) { |
| return null; |
| return null; |
| } |
| } |
| return getTimeOffset(getSeaLevelSunset(), shaahZmanis * 1.5); |
| return getTimeOffset(getSeaLevelSunset(), shaahZmanis * 1.5); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>tzais</em> (dusk) calculated using 96 minutes |
| * Method to return <em>tzais</em> (dusk) calculated using 96 minutes |
| * zmaniyos (<em>GR"A</em> and the <em>Baal Hatanya</em>) after |
| * zmaniyos (<em>GR"A</em> and the <em>Baal Hatanya</em>) after |
| * {@link #getSeaLevelSunset() sea level sunset}. |
| * {@link #getSeaLevelSunset() sea level sunset}. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getAlos96Zmanis() |
| * @see #getAlos96Zmanis() |
| */ |
| */ |
| public Date getTzais96Zmanis() { |
| public Date getTzais96Zmanis() { |
| long shaahZmanis = getShaahZmanisGra(); |
| long shaahZmanis = getShaahZmanisGra(); |
| if (shaahZmanis == Long.MIN_VALUE) { |
| if (shaahZmanis == Long.MIN_VALUE) { |
| return null; |
| return null; |
| } |
| } |
| return getTimeOffset(getSeaLevelSunset(), shaahZmanis * 1.6); |
| return getTimeOffset(getSeaLevelSunset(), shaahZmanis * 1.6); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>tzais</em> (dusk) calculated as 90 minutes after |
| * Method to return <em>tzais</em> (dusk) calculated as 90 minutes after |
| * sea level sunset. This method returns <em>tzais</em> (nightfall) based |
| * sea level sunset. This method returns <em>tzais</em> (nightfall) based |
| * on the opinion of the Magen Avraham that the time to walk the distance of |
| * on the opinion of the Magen Avraham that the time to walk the distance of |
| * a Mil in the Ramba"m's opinion is 18 minutes for a total of 90 minutes |
| * a Mil in the Ramba"m's opinion is 18 minutes for a total of 90 minutes |
| * based on the opinion of <em>Ula</em> who calculated <em>tzais</em> as |
| * based on the opinion of <em>Ula</em> who calculated <em>tzais</em> as |
| * 5 Mil after sea level shkiah (sunset). A similar calculation |
| * 5 Mil after sea level shkiah (sunset). A similar calculation |
| * {@link #getTzais19Point8Degrees()}uses solar position calculations based |
| * {@link #getTzais19Point8Degrees()}uses solar position calculations based |
| * on this time. |
| * on this time. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getTzais19Point8Degrees() |
| * @see #getTzais19Point8Degrees() |
| * @see #getAlos90() |
| * @see #getAlos90() |
| */ |
| */ |
| public Date getTzais90() { |
| public Date getTzais90() { |
| return getTimeOffset(getSeaLevelSunset(), 90 * MINUTE_MILLIS); |
| return getTimeOffset(getSeaLevelSunset(), 90 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns <em>tzais</em> (nightfall) based on the opinion of |
| * This method returns <em>tzais</em> (nightfall) based on the opinion of |
| * the Magen Avraham that the time to walk the distance of a Mil in the |
| * the Magen Avraham that the time to walk the distance of a Mil in the |
| * Ramba"ms opinion is 2/5 of an hour (24 minutes) for a total of 120 |
| * Ramba"ms opinion is 2/5 of an hour (24 minutes) for a total of 120 |
| * minutes based on the opinion of <em>Ula</em> who calculated |
| * minutes based on the opinion of <em>Ula</em> who calculated |
| * <em>tzais</em> as 5 Mil after sea level shkiah (sunset). A similar |
| * <em>tzais</em> as 5 Mil after sea level shkiah (sunset). A similar |
| * calculation {@link #getTzais26Degrees()} uses temporal calculations based |
| * calculation {@link #getTzais26Degrees()} uses temporal calculations based |
| * on this time. |
| * on this time. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getTzais26Degrees() |
| * @see #getTzais26Degrees() |
| * @see #getAlos120() |
| * @see #getAlos120() |
| */ |
| */ |
| public Date getTzais120() { |
| public Date getTzais120() { |
| return getTimeOffset(getSeaLevelSunset(), 120 * MINUTE_MILLIS); |
| return getTimeOffset(getSeaLevelSunset(), 120 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * Method to return <em>tzais</em> (dusk) calculated using 120 minutes |
| * Method to return <em>tzais</em> (dusk) calculated using 120 minutes |
| * zmaniyos (<em>GR"A</em> and the <em>Baal Hatanya</em>) after |
| * zmaniyos (<em>GR"A</em> and the <em>Baal Hatanya</em>) after |
| * {@link #getSeaLevelSunset() sea level sunset}. |
| * {@link #getSeaLevelSunset() sea level sunset}. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getAlos120Zmanis() |
| * @see #getAlos120Zmanis() |
| */ |
| */ |
| public Date getTzais120Zmanis() { |
| public Date getTzais120Zmanis() { |
| long shaahZmanis = getShaahZmanisGra(); |
| long shaahZmanis = getShaahZmanisGra(); |
| if (shaahZmanis == Long.MIN_VALUE) { |
| if (shaahZmanis == Long.MIN_VALUE) { |
| return null; |
| return null; |
| } |
| } |
| return getTimeOffset(getSeaLevelSunset(), shaahZmanis * 2.0); |
| return getTimeOffset(getSeaLevelSunset(), shaahZmanis * 2.0); |
| } |
| } |
| |
| |
| /** |
| /** |
| * For information on how this is calculated see the comments on |
| * For information on how this is calculated see the comments on |
| * {@link #getAlos16Point1Degrees()} |
| * {@link #getAlos16Point1Degrees()} |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getTzais72() |
| * @see #getTzais72() |
| * @see #getAlos16Point1Degrees() for more information on this calculation. |
| * @see #getAlos16Point1Degrees() for more information on this calculation. |
| */ |
| */ |
| public Date getTzais16Point1Degrees() { |
| public Date getTzais16Point1Degrees() { |
| return getSunsetOffsetByDegrees(ZENITH_16_POINT_1); |
| return getSunsetOffsetByDegrees(ZENITH_16_POINT_1); |
| } |
| } |
| |
| |
| /** |
| /** |
| * For information on how this is calculated see the comments on |
| * For information on how this is calculated see the comments on |
| * {@link #getAlos26Degrees()} |
| * {@link #getAlos26Degrees()} |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getTzais120() |
| * @see #getTzais120() |
| * @see #getAlos26Degrees() |
| * @see #getAlos26Degrees() |
| */ |
| */ |
| public Date getTzais26Degrees() { |
| public Date getTzais26Degrees() { |
| return getSunsetOffsetByDegrees(ZENITH_26_DEGREES); |
| return getSunsetOffsetByDegrees(ZENITH_26_DEGREES); |
| } |
| } |
| |
| |
| /** |
| /** |
| * For information on how this is calculated see the comments on |
| * For information on how this is calculated see the comments on |
| * {@link #getAlos18Degrees()} |
| * {@link #getAlos18Degrees()} |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getAlos18Degrees() |
| * @see #getAlos18Degrees() |
| */ |
| */ |
| public Date getTzais18Degrees() { |
| public Date getTzais18Degrees() { |
| return getSunsetOffsetByDegrees(ASTRONOMICAL_ZENITH); |
| return getSunsetOffsetByDegrees(ASTRONOMICAL_ZENITH); |
| } |
| } |
| |
| |
| /** |
| /** |
| * For information on how this is calculated see the comments on |
| * For information on how this is calculated see the comments on |
| * {@link #getAlos19Point8Degrees()} |
| * {@link #getAlos19Point8Degrees()} |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getTzais90() |
| * @see #getTzais90() |
| * @see #getAlos19Point8Degrees() |
| * @see #getAlos19Point8Degrees() |
| */ |
| */ |
| public Date getTzais19Point8Degrees() { |
| public Date getTzais19Point8Degrees() { |
| return getSunsetOffsetByDegrees(ZENITH_19_POINT_8); |
| return getSunsetOffsetByDegrees(ZENITH_19_POINT_8); |
| } |
| } |
| |
| |
| /** |
| /** |
| * A method to return <em>tzais</em> (dusk) calculated as 96 minutes after |
| * A method to return <em>tzais</em> (dusk) calculated as 96 minutes after |
| * sea level sunset. For information on how this is calculated see the |
| * sea level sunset. For information on how this is calculated see the |
| * comments on {@link #getAlos96()}. |
| * comments on {@link #getAlos96()}. |
| * |
| * |
| * @return the <code>Date</code> representing the time. |
| * @return the <code>Date</code> representing the time. |
| * @see #getAlos96() |
| * @see #getAlos96() |
| */ |
| */ |
| public Date getTzais96() { |
| public Date getTzais96() { |
| return getTimeOffset(getSeaLevelSunset(), 96 * MINUTE_MILLIS); |
| return getTimeOffset(getSeaLevelSunset(), 96 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * A method that returns the local time for fixed <em>chatzos</em>. This |
| * A method that returns the local time for fixed <em>chatzos</em>. This |
| * time is noon and midnight adjusted from standard time to account for the |
| * time is noon and midnight adjusted from standard time to account for the |
| * local latitude. The 360° of the globe divided by 24 calculates to |
| * local latitude. The 360° of the globe divided by 24 calculates to |
| * 15° per hour with 4 minutes per degree, so at a longitude of 0 , 15, |
| * 15° per hour with 4 minutes per degree, so at a longitude of 0 , 15, |
| * 30 etc Chatzos in 12:00 noon. Lakewood, NJ whose longitude is -74.2094 is |
| * 30 etc Chatzos in 12:00 noon. Lakewood, NJ whose longitude is -74.2094 is |
| * 0.7906 away from the closest multiple of 15 at -75°. This is |
| * 0.7906 away from the closest multiple of 15 at -75°. This is |
| * multiplied by 4 to yeild 3 minutes and 10 seconds for a chatzos of |
| * multiplied by 4 to yeild 3 minutes and 10 seconds for a chatzos of |
| * 11:56:50. This method is not tied to the theoretical 15° timezones, |
| * 11:56:50. This method is not tied to the theoretical 15° timezones, |
| * but will adjust to the actual timezone and <a |
| * but will adjust to the actual timezone and <a |
| * href="http://en.wikipedia.org/wiki/Daylight_saving_time">Daylight saving |
| * href="http://en.wikipedia.org/wiki/Daylight_saving_time">Daylight saving |
| * time</a>. |
| * time</a>. |
| * |
| * |
| * @return the Date representing the local <em>chatzos</em> |
| * @return the Date representing the local <em>chatzos</em> |
| * @see GeoLocation#getLocalMeanTimeOffset() |
| * @see GeoLocation#getLocalMeanTimeOffset() |
| */ |
| */ |
| public Date getFixedLocalChatzos() { |
| public Date getFixedLocalChatzos() { |
| return getTimeOffset(getDateFromTime(12.0 |
| return getTimeOffset(getDateFromTime(12.0 |
| - getGeoLocation().getTimeZone().getRawOffset() / HOUR_MILLIS), |
| - getGeoLocation().getTimeZone().getRawOffset() / HOUR_MILLIS), |
| -getGeoLocation().getLocalMeanTimeOffset()); |
| -getGeoLocation().getLocalMeanTimeOffset()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * A method that returns the latest <em>zman krias shema</em> (time to say |
| * A method that returns the latest <em>zman krias shema</em> (time to say |
| * Shema in the morning) calculated as 3 hours before |
| * Shema in the morning) calculated as 3 hours before |
| * {@link #getFixedLocalChatzos()}. |
| * {@link #getFixedLocalChatzos()}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman shema. |
| * @return the <code>Date</code> of the latest zman shema. |
| * @see #getFixedLocalChatzos() |
| * @see #getFixedLocalChatzos() |
| * @see #getSofZmanTfilaFixedLocal() |
| * @see #getSofZmanTfilaFixedLocal() |
| */ |
| */ |
| public Date getSofZmanShmaFixedLocal() { |
| public Date getSofZmanShmaFixedLocal() { |
| return getTimeOffset(getFixedLocalChatzos(), -180 * MINUTE_MILLIS); |
| return getTimeOffset(getFixedLocalChatzos(), -180 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * This method returns the latest <em>zman tfila</em> (time to say the |
| * morning prayers) calculated as 2 hours before |
| * morning prayers) calculated as 2 hours before |
| * {@link #getFixedLocalChatzos()}. |
| * {@link #getFixedLocalChatzos()}. |
| * |
| * |
| * @return the <code>Date</code> of the latest zman tfila. |
| * @return the <code>Date</code> of the latest zman tfila. |
| * @see #getFixedLocalChatzos() |
| * @see #getFixedLocalChatzos() |
| * @see #getSofZmanShmaFixedLocal() |
| * @see #getSofZmanShmaFixedLocal() |
| */ |
| */ |
| public Date getSofZmanTfilaFixedLocal() { |
| public Date getSofZmanTfilaFixedLocal() { |
| return getTimeOffset(getFixedLocalChatzos(), -120 * MINUTE_MILLIS); |
| return getTimeOffset(getFixedLocalChatzos(), -120 * MINUTE_MILLIS); |
| } |
| } |
| |
| |
| /** |
| /** |
| * @see java.lang.Object#equals(Object) |
| * @see java.lang.Object#equals(Object) |
| */ |
| */ |
| public boolean equals(Object object) { |
| public boolean equals(Object object) { |
| if (this == object) { |
| if (this == object) { |
| return true; |
| return true; |
| } |
| } |
| if (!(object instanceof ComplexZmanimCalendar)) { |
| if (!(object instanceof ComplexZmanimCalendar)) { |
| return false; |
| return false; |
| } |
| } |
| ComplexZmanimCalendar cCal = (ComplexZmanimCalendar) object; |
| ComplexZmanimCalendar cCal = (ComplexZmanimCalendar) object; |
| // return getCalendar().getTime().equals(cCal.getCalendar().getTime()) |
| // return getCalendar().getTime().equals(cCal.getCalendar().getTime()) |
| return getCalendar().equals(cCal.getCalendar()) |
| return getCalendar().equals(cCal.getCalendar()) |
| && getGeoLocation().equals(cCal.getGeoLocation()) |
| && getGeoLocation().equals(cCal.getGeoLocation()) |
| && getAstronomicalCalculator().equals( |
| && getAstronomicalCalculator().equals( |
| cCal.getAstronomicalCalculator()); |
| cCal.getAstronomicalCalculator()); |
| } |
| } |
| |
| |
| /** |
| /** |
| * @see java.lang.Object#hashCode() |
| * @see java.lang.Object#hashCode() |
| */ |
| */ |
| public int hashCode() { |
| public int hashCode() { |
| int result = 17; |
| int result = 17; |
| result = 37 * result + getClass().hashCode(); // needed or this and subclasses will return identical hash |
| result = 37 * result + getClass().hashCode(); // needed or this and subclasses will return identical hash |
| result += 37 * result + getCalendar().hashCode(); |
| result += 37 * result + getCalendar().hashCode(); |
| result += 37 * result + getGeoLocation().hashCode(); |
| result += 37 * result + getGeoLocation().hashCode(); |
| result += 37 * result + getAstronomicalCalculator().hashCode(); |
| result += 37 * result + getAstronomicalCalculator().hashCode(); |
| return result; |
| return result; |
| } |
| } |
| } |
| } |