libhdate, hcal and hdate Wiki
C library for Hebrew dates / times of day / solar times
Brought to you by:
boruch-baum,
kzamir
hdate(1) libhdate hdate(1)
NAME
hdate - displays Hebrew date information for a given Gregorian/Julian
date
SYNOPSIS
hdate [options] [coordinates [timezone]] [[[dd] mm] yyyy]
hdate [options] [coordinates [timezone]] [ julian_day ]
coordinates: -l [NS]yy[.yyy] -L [EW]xx[.xxx]
-l [NS]yy[:mm[:ss]] -L [EW]xx[:mm[:ss]]
timezone: -z nn[( .nn | :mm )]
DESCRIPTION
hdate translates the specified date to the Hebrew calendar and option‐
ally 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.
OPTIONS
-b --bidi output Hebrew information in Hebrew, but in reverse
--visual sequence.
-c print Shabbat start/end times. Shabbat starts 20 min
before sunset, and ends when three stars are out.
-d --diaspora use diaspora reading and holidays.
-h --holidays print holidays.
-H Print only if it is a holiday.
-i --ical use iCal formatted output.
-j --julian print Julian day number.
-o --omer print Sefirat Ha Omer
-q --quiet-alerts quiet. suppress warning messages
-r --parasha print weekly reading for Shabbat.
-R print only if the weekly reading is read on that
Shabbat
-s --sun print sunrise/sunset times.
-S --short-format print using short format.
-t print day times: first light, talit, sunrise, mid
day, sunset, first stars, three stars
-T --table 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 spread‐
sheets0TP -l --latitude [NS]yy[.yyy] decimal degrees,
or [NS]yy[:mm[:ss]] degrees, minutes, seconds. Nega‐
tive values are South
-L --longitude [EW]xx[.xxx] decimal degrees, or [EW]xx[:mm[:ss]]
degrees, minutes, seconds. Negative values are West
-z --timezone +/-UTC. Notation may be in decimal hours ( hh[.hh] )
or hours, minutes ( hh[:mm] )
--hebrew forces Hebrew to print in Hebrew characters
--yom force Hebrew prefix to Hebrew day of week
--leshabbat insert parasha between day of week and day
--leseder insert parasha between day of week and day
--not-sunset-aware
don't display next day if after sunset
NOTES
LOCATIONS
If you want hdate to display accurate time-of-day information, hdate
requires location and time zone information in order to make astronomi‐
cal calculations for a given date. If you don't provide ANY such infor‐
mation, 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 time‐
zones, 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
FILES
CONFIG FILE
This folder and file will be automatically created, and includes its
own documentation, in-line:
${XDG_CONFIG_HOME}/hcal/hcalrc
If ${XDG_CONFIG_HOME} is undefined:
~/.config/hcal/hcalrc
BUGS
Accuracy The accuracy of the astronomically-derived data will suffer
from not accounting for environmental conditions such as ele‐
vation, horizon, temperature and air pressure.
Timezones The timezone support is currenlty primitive and lacks support
for daylight savings time transitions.
Historical
The software does not yet account for the phenomenon and com‐
plications 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 calen‐
dar 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 calen‐
dar 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 applica‐
tion, refer to ' ncal -p ´ for a basic table of country tran‐
sitions. However, keep in mind that European borders under‐
went 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.
EXAMPLES
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
SEE ALSO
mlterm(1), hcal(1), hebcal(1), date(1), ncal(1), cal(1), remind(1)
AUTHORS
Boruch Baum 2011-2012. Yaacov Zamir 2005-2010.
project page: http://libhdate.sourceforge.net
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 con‐
tributed by Zvi Har'El.
Linux 2012-01-01 hdate(1)