hdate(1)

πŸ’– hdate β€” the Hebrew-date bestie πŸ’–

okay so real talk, this whole page is part of the libhdate manual, and the star of the show is the command hdate. it's giving calendar-girlie main character energy, no cap. πŸ—“οΈβœ¨


🌸 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 ]

and the little cheat-sheet for how you feed it coordinates and timezone:

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 πŸ’…

so what does hdate actually do, bestie? it translates whatever date you hand it into the Hebrew calendar, and then β€” if you want β€” it can spill extra tea about that Hebrew date: holidays, astronomy-ish times, all of it (peep the LOCATION section below, iykyk). πŸ‘€

  • give it no arguments at all? it just tells you about the current date. comfy.
  • give it one single numeric argument? it reads that as a year, and hdate will output the requested info for every single day of that year. all of them. periodt.
  • give it two numeric arguments? that's mm yyyy, and hdate will output the requested info for all the days of that month. πŸ—“οΈ

πŸ”₯ INPUTTING A HEBREW DATE πŸ”₯

if the year you passed is greater than 3000, hdate goes "oh, this is a Hebrew date" and instead shows you the info for the corresponding Gregorian date. Hebrew months are expected to be passed as numbers 1-12 for Tishrei - Elul; and heads up, Adar I and Adar II are expected to be passed as months 13 and 14. yes, fourteen months, don't @ me. πŸ’œ

🌟 INPUTTING A JULIAN DAY 🌟

if you give it a single numeric argument and that number is greater than 348021, hdate will interpret it as the "Julian day number" and will display the info for the corresponding Hebrew date. slay. ✨


✨ OPTIONS ✨

  • -b, --bidi, --visual β€” output Hebrew information in Hebrew, but in reverse sequence. πŸͺž
  • -c β€” print Shabbat start/end times. Shabbat starts 20 min before sunset, and ends when three stars are out. romantic tbh ⭐⭐⭐
  • -d, --diaspora β€” use diaspora reading and holidays.
  • -h, --holidays β€” print holidays. πŸŽ‰
  • -H β€” Print only if it is a holiday. (so, silence unless it's a whole event)
  • -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 spreadsheets
  • -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]) ⏰
  • --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 🌍

okay so if you want hdate to give you accurate time-of-day info, it needs location and time zone info so it can do the astronomical calculations for a given date. if you don't provide ANY of that, hdate falls back to your computer's local time zone info as an indicator, and either picks a city in that time zone, or defaults to the equator at the center of that time zone. and if hdate can't even retrieve time zone info from your computer at all? it defaults to Tel-Aviv. iconic of it honestly.

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 -5 β€” Default city New York City β€” Lattitude 40 β€” Longitude -74
  • Timezone 0 β€” Default city London β€” Lattitude 51 β€” Longitude 0
  • Timezone 1 β€” Default city Paris β€” Lattitude 48 β€” Longitude 2
  • Timezone 2 β€” Default city Tel-Aviv β€” Lattitude 32 β€” Longitude 34
  • Timezone 3 β€” Default city Moscow β€” Lattitude 55 β€” Longitude 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 it includes its own documentation, in-line:

${XDG_CONFIG_HOME}/hcal/hcalrc

and 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 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. πŸ›οΈ

🌈 EXAMPLES 🌈

  1. Create an iCal calendar of the holidays of year 2025.
hdate -Hi 2025
  1. 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-2013. 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 contributed by Zvi Har'El. 🫑


okay bestie that's the whole page, every flag and every fact kept safe and sound, and if you forget any of it just run hdate again β€” it literally does not judge. 🧚

and that's a wrap on the libhdate girlies' page for Linux, dated 2013-01-01 β€” hdate(1), signing off. πŸ’…πŸŒΈβœ¨