Scroll to navigation

hdate(1) libhdate hdate(1)


hdate - displays Hebrew date information for a given Gregorian/Julian date


hdate [options] [coordinates [timezone]] [[[dd] mm] yyyy]

hdate [options] [coordinates [timezone]] [ julian_day ]

-l [NS]yy[:mm[:ss]] -L [EW]xx[:mm[:ss]]
timezone: -z nn[( .nn | :mm )]


hdate translates the specified date to the Hebrew calendar and optionally displays further information about that Hebrew date, including holidays and astronomical-related times (see section LOCATION, below). If no arguments are given, it displays information for the current date. If a single numeric argument is given, it will be interpreted as a year, and hdate will output the requested information for all days of that year. If two numeric arguments are given, it will be interpreted as mm yyyy, and hdate will output the requested information for all days of that month.

INPUTTING A HEBREW DATE: If the year provided is greater than 3000, hdate will interpret the given date as a Hebrew date, and will display information for the corresponding Gregorian date. Hebrew months are expected to be passed as numbers 1-12 for Tishrei - Elul; Adar I and Adar II are expected to be passed as months 13 and 14.

INPUTTING A JULIAN DAY: If a single numeric argument is provided, and it is greater than 348021, hdate will interpret it as the "Julian day number" and will display information for the corresponding Hebrew date.


output Hebrew information in Hebrew, but in reverse

   --visual   sequence.
print Shabbat start/end times. Shabbat starts 20 min before sunset, and ends when three stars are out.
use diaspora reading and holidays.
print holidays.
Print only if it is a holiday.
use iCal formatted output.
print Julian day number.
print Sefirat Ha Omer
quiet. suppress warning messages
print weekly reading for Shabbat.
print only if the weekly reading is read on that Shabbat
print sunrise/sunset times.
print using short format.
print day times: first light, talit, sunrise, mid day, sunset, first stars, three stars
print tabular output. All data for each requested day will be output on a single comma-delimited line. Most suitable for piping, or export to spreadsheets0TP -l --latitude [NS]yy[.yyy] decimal degrees, or [NS]yy[:mm[:ss]] degrees, minutes, seconds. Negative values are South
[EW]xx[.xxx] decimal degrees, or [EW]xx[:mm[:ss]] degrees, minutes, seconds. Negative values are West
+/-UTC. Notation may be in decimal hours ( hh[.hh] ) or hours, minutes ( hh[:mm] )
forces Hebrew to print in Hebrew characters
force Hebrew prefix to Hebrew day of week
insert parasha between day of week and day
insert parasha between day of week and day
don't display next day if after sunset



If you want hdate to display accurate time-of-day information, hdate requires location and time zone information in order to make astronomical calculations for a given date. If you don't provide ANY such information, hdate uses your computer's local time zone information as an indicator, and either picks a city in that time zone, or defaults to the equator at the center of that time zone. If hdate can't even retrieve time zone information from your computer, it defaults to Tel-Aviv. For other locations, use the -l -L option pair. For other timezones, use the -z option. Co-ordinates and standard time zones for some common locations are listed below.

The current defaults include:

Timezone Default city Lattitude Longitude
-5 New York City 40 -74

0 London 51 0

1 Paris 48 2

2 Tel-Aviv 32 34

3 Moscow 55 37

Useful locations and time zones

Jerusalem 31, 35, 2 Buenos Aires 34, -58, -3
Tel Aviv 32, 34, 2 Hong Kong 22, 114, 8
Haifa 32, 34, 2 Los Angeles 34, -118, -8
Beer Sheva 31, 34, 2 Sao Paolo 23, -46, -3
Ashdod 31, 34, 2 Toronto 43, -79 -5
Tiberias 32, 35, 2
Eilat 29, 34, 2



This folder and file will be automatically created, and includes its own documentation, in-line:


If ${XDG_CONFIG_HOME} is undefined:



The accuracy of the astronomically-derived data will suffer from not accounting for environmental conditions such as elevation, horizon, temperature and air pressure.

The timezone support is currenlty primitive and lacks support for daylight savings time transitions.

The software does not yet account for the phenomenon and complications of the "Gregorian transition" from the prior, Julian calendar, which effectively caused an instantaneous 'loss' of two weeks for all gentiles affected. Countries (eg. Poland, Spain and Italy) began adopting the Gregorian calendar on 8 Tishrei 5343 (4 October 1582CE), although many did not transition until the 56th century (1752 CE, eg. UK colonies, Sweden). Russia did not adopt the Gregorian calendar until 5678 (1918 CE) and Turkey did not until 5687 (December, 1926 CE). Many other countries made the transition on other dates. Keep in mind that Russia invaded part of Poland, undoing, for the interim, the Gregorian transition for (only) that part of Poland; Also important to remember in this regard is that Eretz Ysroel was part of the Turkish Ottoman empire until the British mandate (5677 (1917CE)). Until all this is accounted for adequately by this application, refer to ' ncal -p ´ for a basic table of country transitions. However, keep in mind that European borders underwent many changes during the 426 years in question, so the accuracy of your data will depend on accurate knowledge of whether any particular date at any specific location was Julian or Gregorian.


1. Create an iCal calendar of the holidays of year 2025.

hdate -Hi 2025

2. Print out the weekly readings and sunset/sunrise times for Eilat, on April 2031.

hdate -sR 4 2031 -l29 -L34 -z2


mlterm(1), hcal(1), hebcal(1), date(1), ncal(1), cal(1), remind(1)


Boruch Baum 2011-2013. Yaacov Zamir 2005-2010.

project page:

hcal and hdate are part of the package libhdate , a small C/C++ library for Hebrew dates, holidays, and reading sequences (parashiot). It uses the source code from Amos Shapir's "hdate" package, as fixed and patched by Nadav Har'El. The Torah reading sequence tables were contributed by Zvi Har'El.

2013-01-01 Linux