hcal - displays a Hebrew / Gregorian calendar
hcal prints a calendar with both Gregorian and Hebrew dates
for the specified Gregorian month or, if no month is specified, for the
whole Gregorian year. If no arguments are given, it prints the current
month's calendar. Jewish holidays are annotated, and can optionally be
footnoted. hcal tries to be sunset-aware in order to correctly
highlight the current Hebrew date, and can also display Shabbat times and
parshiot. See the section LOCATION, below.
INPUTTING A HEBREW DATE: If the year provided is greater
than 3000, hcal will interpret the given date as a Hebrew date, and
will display the calendar of the corresponding Gregorian month(s). 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.
- -1 --one-month
- over-ride config file setting if you had set option --three-month as a
default there
- -3 --three-month
- output previous/next months, side by side. requires 127 columns
- -b --bidi
- output Hebrew information in Hebrew , in reverse
--visual
sequence
--no-bidi
over-ride config file setting if you had set
--no-visual
option -bidi as a default there
- -c --colorize
- output in calming, muted tones
--no-color
over-ride config file setting
- -d --diaspora
- use diaspora reading and holidays. Only relevant if hcal is using location
information indicating an Israeli timezone
- -f --footnote
- output descriptive notes of holidays
--no-footnote
over-ride config file setting
- -h --html
- output in html format to stdout
--no-html
over-ride config file setting
- -H --hebrew
- output Hebrew information in Hebrew, in 'logical' sequence. If this
displays in reverse for you, use option -b
- -I --israel
- override a diaspora default. Only relevant if hcal is using location
information indicating other than an Israeli timezone
- -i
- use external css file "./hcal.css" for html output
- --no-reverse
- do not highlight today's date
- -p --parasha
- output week's parasha on each calendar row
- -s --shabbat
- output Shabbat times and parshiot
- -l --latitude
- [NS]yy[.yyy] decimal degrees, or [NS]yy[:mm[:ss]] degrees, minutes,
seconds. Negative 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] )
Holidays are depicted by a change in the symbol separating a day's
Gregorian and Hebrew dates, as follows:
/ Regular day
+ Yom Tov (plus Yom Kippur)
* Erev Yom Kippur
~ Hol HaMoed
! Hanuka and Purim
@ Tzomot
$ Lag BaOmer ,Tu BeAv, Tu BeShvat
# Independance day and Yom
Yerushalaim
% Tzahal and Holocaust memorial days
^ Other Israeli National days
Use the -f (--footnote) option to have hcal describe what any
particular day is marking.
If you want hcal to display accurate Shabbat times, and to
accurately advance the Hebrew 'today's date' indicator at sunset,
hcal requires location and time zone information in order to make
astronomical calculations for a given date. If you don't provide ANY such
information, hcal 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 hcal 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:
${XDG_CONFIG_HOME}/hcal/hcalrc
If ${XDG_CONFIG_HOME} is undefined:
~/.config/hcal/hcalrc
- Accuracy
- The accuracy of the astronomically-derived data will suffer from not
accounting for environmental conditions such as elevation, 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 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. Display a 2012ce year's calendar, three-months wide, in color.
hcal -3c 2012
2. Display the current month's calendar, with Shabbat times,
parshiot, footnoted holiday identification, with Hebrew information in
Hebrew, and all in "calming", "muted" color-tones.
hcal -csfH
Boruch Baum 2011-2013, Yaacov Zamir 2005-2010.
project home 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 contributed by Zvi Har'El.