Glich - v0.3.0 Manual
h - Hebrew
Home Development v0.3.0 Manual Hics Library h

Calendar Description - Scheme h

The Hebrew calendar, also known as the Jewish calendar, is a lunisolar arithmetical calendar based on the 19 year Metonic cycle. In 7 of the 19 years, an extra month, named "Adar I" is added before "Adar" (and "Adar" is renamed "Adar II").

Prior to using the this calendar, a observational system was used, both in determining the start of the lunar month and, by using natural phenomena, in adding the intercalated month. The Metonic cycle may have used to check and confirm the observations, but it was not until Hillel II in the fourth century CE that this replaced the observational system. The rules for calculations slowly evolved until around the 12th century, when the calendar described here was formulated.

Use Case

The mathematics of the calendar is commonly attributed Hillel II in the fourth century CE. From then it slowly evolved until it reached its current form in approximately the 12th century.

Definition

Record - Default order
yearmonthdaycmonthwsday
Record - Ranking order
yearcmonthdaywsdaymonth
Month Names - Lexicons hm & hcm
NumberNameNote
FullAbrev.Alternative
7TishreiTshTishri30
8CheshvanCshMarheshvan, Heshvan2930 days in complete year
9KislevKsl3029 days in deficient year
10TevetTvt29
11ShevatShvShvat30
12AdarAdr29Common year only.
14Adar IAds30Leap year only. Lexicon hcm only
13Adar IIAds29Leap year only.
1NissanNsnNisan30
2IyarIyrIyyar29
3SivanSvn30
4TammuzTmzTamaz29
5AvAav30
6ElulEll29
Week Names - Lexicon hw
NumberName
FullAbrev.
1Yom RishonRish
2Yom SheniShen
3Yom ShelishiShel
4Yom Revi'iRevi
5Yom HamishiHami
6Yom ShishiShis
7Yom ShabbatShab

The year length is one of 353, 354, 355, 383, 384 or 385 days, and average approximately 365.24682 days. Days start at sunset, the conversion here is for midday.

Months are linked to the Lunar cycle starting near the new moon and are 29 or 30 days long.

Regular years consist of 12 months and leap years of 13 months. Leap years occur on the 3rd, 6th, 8th, 11th, 14th, 17th and 19th years of a 19 year cycle beginning in year 1.

In a common year, the months are numbered 1 to 12 In a leap year an additional 30 day month, traditionally unnumbered, is inserted between months 11 and 12. However, in this scheme, the additional month is numbered 12 and the existing 12th month is renumbered 13. The length of each month is shown in the given table.

The length of a nominal regular year or leap year is 354 or 384 days, the length of a complete year is 355 or 385 days whilst that of a deficient year is 353 or 383 days.

In both common and leap years, the year count in increased on the 1st day of the 7th month.

The New Year (the day the year count is increased) occurs on the 1st day of the 7th month.

The calendar is also linked to the 7 day week, with the days numbered 1 to 7, and with Sunday equal to day 1.

The following rules are used to determine when the New Year falls and thus, the length of the year.

  1. If the time of the new moon is at midday or after then the New Year is delayed by one day.
  2. If the New Year were to fall on a Sunday, Wednesday or Friday then the New Year is delayed by one day or 2 days if combined with the previous rule.
  3. If the previous rules combine to increase the length of the following year to 356 days, the current New Year is delayed by a day.
  4. If the previous rules combine to decrease the length of the previous year to 382 days, the current New Year is delayed by a day.
The Epoch is set at
hyearmonthday
171
=
jyearmonthday
-3760107
=
jdnday
347998
.

Formats

One problem with formatting the month name, is the difference in the Adar month name in common and leap years. The 12th month name is "Adar" in a common year and "Adar I" in a leap year. We cope with this by creating a calculated field named cmonth. For a cmonth field, the 12th month is renumbered to 14th in a leap year. In all other respects, the cmonth field is the same as the month field.

The formats supplied with this scheme.

Formats - Grammar h
CodeRulePseudoExampleNote
dmy_atextInput: day cmonth year
Output: dd Mon yyyy
30 Adf 5784
29 Ads 5784
29 Adr 5785
S
dmytextInput: day cmonth year
Output: dd Month yyyy
30 Adar I 5784
29 Adar II 5784
29 Adar 5785
D, S
dmy-textInput: day month year
Output: dd mm yyyy
30 12 5784
29 13 5784
29 12 5785
S
wdmytextInput: wsday day cmonth year
Output: Weekday dd Month yyyy
Yom Rishon 30 Adar I 5784
Yom Sheni 29 Adar II 5784
Yom Shabbat 29 Adar 5785
ymdtextInput: year cmonth day
Output: yyyy Month dd
5784 Adar I 30
5784 Adar II 29
5785 Adar 29
S
ymd-textInput: year month day
Output: yyyy mm dd
5784 12 30
5784 13 29
5785 12 29
S
gedcomtextInput: day month year
Output: dd MON yyyy
30 ADR 5784
29 ADS 5784
29 ADR 5785
S
deftextInput: year month day cmonth
Output: yyyy mm dd mm
5784 12 30 14
5784 13 29 13
5785 12 29 12
H
uunitInput: 9y 9m 9d 9cm
Output: 9y 9m 9d 9cm
5784y 12m 30d 14cm
5784y 13m 29d 13cm
5785y 12m 29d 12cm
H
Notes: D = Default, H = Hidden. Example based on jdn# 2460380, 2460409 and 2460764

Script

Script - Module hics:hebrew
lexicon hm { name "Month names"; fieldname month; lang en; pseudo Month, Mon; tokens { 1, "Nissan", "Nsn", "Nisan"; 2, "Iyar", "Iyr", "Iyyar"; 3, "Sivan", "Svn"; 4, "Tammuz", "Tmz", "Tamaz"; 5, "Av", "Aav"; 6, "Elul", "Ell"; 7, "Tishrei", "Tsh", "Tishri"; 8, "Cheshvan", "Csh", "Marheshvan", "Heshvan"; 9, "Kislev", "Ksl"; 10, "Tevet", "Tvt"; 11, "Shevat", "Shv", "Shvat"; 12, "Adar", "Adr"; 13, "Adar II", "Ads"; } } lexicon hcm { name "Complete Month names"; fieldname cmonth; inherit hm; tokens { 14, "Adar I", "Adf"; } } lexicon hw { name "Weekday names"; fieldname wsday; // Note: Days are numbered from Sunday, unlike "wday". lang en; pseudo Weekday, WDay; tokens { 1, "Yom Rishon", "Rish"; // Sunday 2, "Yom Sheni", "Shen"; // Monday 3, "Yom Shelishi", "Shel"; // Tuesday 4, "Yom Revi'i", "Revi"; // Wednesday 5, "Yom Hamishi", "Hami"; // Thursday 6, "Yom Shishi", "Shis"; // Friday 7, "Yom Shabbat", "Shab"; // Saturday } } grammar h { name "Hebrew"; fields year month day; calculated cmonth; optional wsday; rank year cmonth day; lexicons hm, hcm, hw; alias pseudo { w wsday; dd day; mm month; mm cmonth; yyyy year; } alias unit { d day; m month; y year; cm cmonth; } function calc_cmonth { cmonth = @if( month=12 and @leapyear.hebrew(year), 14, month ); result = this; } function calc_month { month = @if( cmonth=14, 12, cmonth ); result = this; } use { calculate calc_cmonth; from:text calc_month; } format dmy_a "{day} |{cmonth:hcm:a} |{year}"; format dmy "{day} |{cmonth:hcm} |{year}"; format "dmy-" { inout "{day} |{month} |{year}"; rank year month day; use:in calc_cmonth; } format wdmy "{wsday:hw} |{day} |{cmonth:hcm} |{year}"; format ymd "{year}| {cmonth:hcm}| {day}"; format "ymd-" { inout "{year}| {month}| {day}"; rank year month day; use:in calc_cmonth; } format gedcom { inout "{day} |{month:hm:a:u} |{year}"; rank year month day; use:in calc_cmonth; } preferred dmy; } scheme h { name "Hebrew"; base hebrew; grammar h; }

The Month name abreviations are those used by the GEDCOM standard version 5.5.1 Page 53 (PDF).

Note, the use of optional field "wsday" in which the week starts on Sunday (day 1).

Home Development v0.3.0 Manual Hics Library h

Managed by WebPageLayout Validated by HTML Validator (based on Tidy)

4th June 2024