Skip to content
/ MyZman Public

Desktop program to calculate different Jewish Zmanim & Dates

License

Notifications You must be signed in to change notification settings

NykUser/MyZman

Repository files navigation

MyZman

A compact windows program for calculating Jewish Zmanim;

Converting between Hebrew & Gregorian Dates [including Parsha, Holiday’s, Daf Yomi].

The program also includes options for exporting and setting reminders.

This link can be used to download a portable .exe.

The Code is released under the LGPL 2.1 license.

Instructions

Dates

  • Gregorian dates are selected via the date picker.
  • Hebrew dates are typed into the Hebrew Date textbox.

Locations

  • Included with the program there is a list of locations (in a file named LocationsList.xml, this file needs to be in the same folder as MyZman.exe). Please be aware that this list was gathered from online sources, and its accuracy has not been checked. Most of the locations are missing elevation info.
  • When a location is selected the zmanim automatically updates according to the location’s values.
  • The Time shown on the program’s title bar is the current system time converted to the time zone selected in the time zone dropdown box.
  • The user can also manually enter an Latitude & Longitude with time zone info, and the zmanim will automatically update to the changed location.
  • Changes can be saved, locations added or removed, the default startup location set, via the three-dot menu (kebab menu).
  • All Changes are saved to the user settings file (MyZman.exe.UserSettings.xml, in the same folder as the .exe), and not to the default locations list.
  • In addition, the is an option to retrieve the user’s current location, this relies on windows GeoCoordinateWatcher, accuracy depends on several factors, and hence the results should be checked.

Zmanim

  • The program has a preset list of zmanim that can be changed to the users preference.
  • Pressing delete will remove the selected zman.
  • Double clicking on the zman’s name will allow editing its name
  • Double clicking on the zman’s time will open a dropdown list with all available zmanim. Explanation of the varies zmanim can be found here.
  • The order of the zmanim can be rearranged simply by dragging and dropping.
  • The are additional options available via an right click context menu, when clicking somewhere in the zmanim box.
  • When a Zman is selected it will show up on the status bar, with the amount of time left\past selected zman (according to the time-zone of the selected location).
  • When the option Color for Zmanim is selected, the zmanim that have already past will be shown in red and upcoming zmanim in green (shaah zmanis stay black).
  • All changes are saved to the user settings file and can be reset via the right click context menu.

Tools

The tools menu includes:

  • Settings menu with additional settings, such as hebrew menus and messages, showing the parsha and holiday’s as in israel, time format, setting the programs opacity\transparency when not active. And more.
  • Tool for exporting the selected list of zmanim to Excel (as an CSV comma-separated values file that can be used by additional software) or .VCS used by several popular Calendar programs.
  • Tool for compering zmanim.
  • Tool for setting reminders according to preset time or zman. Reminders run on windows task scheduler and will run even when MyZman is closed.
  • User can set a message to display as well as a audio file to play when reminder is shown.
  • Zmanim reminders are shown according to the location selected on the schedule window (not the one on the main program window).

this is a link to a clip with example uses of the program

Calculations Info and Credits

  • Core Zmanim calculations are based on Eliyahu Hershfeld’s work Kosher Java available on its GitHub Home.
  • Project used the above’s NET port developed by Yitzchok Gottlieb Found here (Release 1.5.0). Changed to Vb.Net
  • Some new Functions were added for additional zmanim and Parsha Names (in Class AddedGets)
  • By default, all zmanim calculations use the NOAA algorithm (developed by Jean Meeus).
  • By default, all zmanim calculations are based on sea level.
  • The is an options to use the older USNO algorithm (more on the differences see below) or to use the locations elevation via the right click context menu in the zmanim box (as mentioned above the saved locations elevation is incomplete).
  • Project uses the GeoTimeZone library from here (Release 4.1.0) to look up time zones according to Geolocations.
  • IANA time zone IDs are passed to the TimeZoneConverter library from here (Release 3.5.0)

Disclaimer

Below is a note on Kosher Java’s website this applies to MyZman as well:

Due to atmospheric conditions (pressure, humidity and other conditions), calculating zmanim accurately is very complex. The calculation of zmanim is dependent on Atmospheric refraction (refraction of sunlight through the atmosphere), and zmanim can be off by up to 2 minutes based on atmospheric conditions. Inaccuracy is increased by elevation. It is not the intent of this API to provide any guarantee of accuracy. See Using a Digital Terrain Model to Calculate Visual Sunrise and Sunset Times for additional information on the subject.

While I did my best to get accurate results, please double check before relying on these zmanim for halacha lemaaseh.

Screenshots

13

2

34

Notable points about the Programs Code

  • All that is needed to run the propgrem is a stand alone exe & an xml file with locations info.
  • Project uses Embedded fonts "ArialUnicodeCompact" & "VarelaRound-Regular", ArialUnicodeCompact is Arial Unicode MS with only English & Hebrew characters.
  • Message Boxes are centered to mouse position with Centered_MessageBox class
  • Round Buttons are used for some of the controls
  • Status Strip Messages are Trimmed and ellipsis are added
  • User settings are Serialized and saved in the exe folder
  • Variables are mostly Globalized

More info on USNO vs NOAA from Kosher Java

The USNO algorithm was used by many poskim over the years. It does not differentiate between leap and non-leap years. It is now a drop out of date and is not considered as accurate. Changes to earth’s rotation since the time they were published and other factors contribute to this. Since they do not differentiate between leap and non-leap years, this alone can mean that the data is a day off (something that corrects itself every 4 years). The USNO algorithm was also designed to be accurate from about the year 1980 to 2050 with lower accuracy at the edges. It was never considered more accurate than one minute. You can contrast that with the NOAA algorithm that is based on newer algorithms by Jean Meeus that are considered more accurate. That said, you will find very small differences between the two. See the old post Zmanim Bug Report from the Land of the Midnight Sun that references the two. You can see the extract on a study comparing them to have an idea. That said, none are really accurate due to atmospheric conditions. See The Novaya Zemlya Effect’s Impact on Zmanim article that covers this.

About

Desktop program to calculate different Jewish Zmanim & Dates

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published