Please see the more recent and updated article Baal Hatanya’s Zmanim Added to KosherJava Zmanim Library for more current information.
Question:
How do I calculate the בעל התניא Baal Hatanya’s Zman for Shkiah as 4 minutes after sunset using the KosherJava Zmanim API?
Answer:
I was recently asked how to use the Zmanim API to calculate the Baal Hatanya’s opinion is that shkiah (halachic sunset) is 4 minutes after civil sunset. The assumption that the Baal Hatanya’s shkiah is a fixed 4 minutes after sunset is not that simple and will require a separate post to clarify. This zman should not be used lehalacha without consulting a rov. This post shows how to us the API assuming that it is a fixed 4 minutes after sunset. The technique to calculate this with the API is identical to the way getTzais72() would be calculated. The source of that method is
public Date getTzais72() { return getTimeOffset(getSeaLevelSunset(), 72 * MINUTE_MILLIS); }
The getTimeOffset(Date time, double offset) method in the base class AstronomicalCalendar is very simple:
public Date getTimeOffset(Date time, long offset) { if (time == null || offset == Long.MIN_VALUE) { return null; } return new Date(time.getTime() + offset); }
The getTimeOffset method simply adds the number of milliseconds of the offset to the raw time of the zman and returns it as a date. While using the API itself is not needed for such a simple calculation, here is how it would be used:
String locationName = "Jerusalem"; double latitude = 31.778; // Har habayis double longitude = 35.2354;// Har Habayis double elevation = 0; TimeZone timeZone = TimeZone.getTimeZone("Asia/Jerusalem"); GeoLocation location = new GeoLocation(locationName, latitude, longitude, elevation, timeZone); ZmanimCalendar zc = new ZmanimCalendar(location); Date baalHatanyaShkiah = zc.getTimeOffset(zc.getSeaLevelSunset(), 4 * 60000); System.out.println("Baal Hatanya Shkiah: " + baalHatanyaShkiah);
Adding it to the API itself would be even simpler:
public Date getShkiahBaalHatanya() { return getTimeOffset(getSeaLevelSunset(), 4 * MINUTE_MILLIS); }
At some point in the future I may (doubtful) add this time to the API itself. The zman is not commonly used, and the Chabad calendars that I have seen all use regular sunset.
Update on July 5, 2015 – י״ח תמוז תשע״ה: This article was updated to clarify that the Baal Hatanya’s opinion may not be a fixed 4 minutes, but that the post was showing how to use the API to calculate it based on the questioner’s assumption that it was a 4 minute zman.
Update on Dec 14, 2018 – ו׳ טבת תשע״ט: This article was superseded with the more recent and corrected article Baal Hatanya’s Zmanim Added to KosherJava Zmanim Library.