Glich - v0.3.0 Manual
jce - Julian Common Era
Home Development v0.3.0 Manual Hics Library jce

Calendar Description - Scheme jce

This version of the Julian calendar is commonly used by historians when referring to dates in the first millennium and earlier. The calendar is split into two eras, the Common Era (also known as the Christian Era or AD - Anno Domini) and Before Common Era (also known as Before Christian Era or BC - Before Christ).

Dates Before Common Era end on the 31st December year 1 BCE and the years are counted backwards from this point for all previous years. The Common Era start the next day, the 1st January, year 1 CE and continues until the present day. Thus, years are always positive and there is no year zero. Leap years follow the same rules as the Julian calendar scheme.

Use Case

For dates in the Common Era this scheme is the same as the Julian scheme, which includes the period for when it was in contemporary use. As this scheme requires an additional field (BCE or CE), the simpler Julian scheme is preferred. However, when dealing with dates before the second millennium it is convenient for Historians to use a single scheme.

Definition

Historic Era Names - Lexicon ce
NumberEra NameAbbrev.Range
0Before Common EraBCEpast .. j:dmy# 31 Dec 0
1Common EraCEj:dmy# 1 Jan 1 .. future

The Julian Common Era calendar is a variation of the Julian calendar. Two additional calculated fields are added to hold the ce era and the ceyear year values. Note the ceyear is always positive.

The Record consists of three julian required Fields named year, month and day, the two calculated fields ce and ceyear and the optional field wday. The ce and ceyear fields effectively replace the year field when formatting the date value, and so the ranking order is as shown.

Record - Default order
yearmonthdayceceyearwday
Record - Ranking order
ceceyearmonthdaywdayyear

The ceyear field has the value -year + 1 for all values of year less than one, and the value year for all other values.

The Epoch is set at
jcececeyearmonthday
1111
=
jyearmonthday
111
=
jdnday
1721424
.

Formats

The formats supplied with this scheme.

Formats - Grammar jce
CodeRulePseudoExampleNote
dmyetextInput: day month ceyear ce
Output: dd Mon yyyy CE
15 Mar 44 BCE
16 Jul 31 CE
D, S
wdmyetextInput: wday day month ceyear ce
Output: Wday dd Mon yyyy CE
Wed 15 Mar 44 BCE
Mon 16 Jul 31 CE
mdyetextInput: month day ceyear ce
Output: Mon dd, yyyy CE
Mar 15, 44 BCE
Jul 16, 31 CE
S
wmdyetextInput: wday month day ceyear ce
Output: Wday Mon dd, yyyy CE
Wed Mar 15, 44 BCE
Mon Jul 16, 31 CE
dmye+textInput: day month ceyear ce
Output: dd Month yyyy CommonEra
15 March 44 Before Common Era
16 July 31 Common Era
S
wdmye+textInput: wday day month ceyear ce
Output: Weekday dd Month yyyy CommonEra
Wednesday 15 March 44 Before Common Era
Monday 16 July 31 Common Era
stdtextInput: day month ceyear ce
Output: ddth Month yyyy CommonEra
15th March 44 Before Common Era
16th July 31 Common Era
S
fulltextInput: wday day month ceyear ce
Output: Weekday ddth Month yyyy CommonEra
Wednesday 15th March 44 Before Common Era
Monday 16th July 31 Common Era
deftextInput: year month day ce ceyear
Output: year mm dd ce yyyy
-43 3 15 0 44
31 7 16 1 31
H
uunitInput: 9y 9m 9d 9ce 9cy
Output: 9y 9m 9d 9ce 9cy
-43y 3m 15d 0ce 44cy
31y 7m 16d 1ce 31cy
H
Notes: D = Default, H = Hidden, S = Range shortcut supported. Example based on jdn# 1705426 and 1732577

Script

Script - Module hics:jce
lexicon ce { name "Historic Era"; fieldname ce; lang en; pseudo CommonEra, CE; tokens { 0, "Before Common Era", "BCE"; 1, "Common Era", "CE"; } } grammar jce { name "Julian Common Era"; fields year month day; calculated ce ceyear; optional wday; rank ce ceyear month day; lexicons m w ce; alias pseudo { w wday; dd day; mm month; yyyy ceyear; ce ce; } alias unit { d day; m month; y year; cy ceyear; } function calc_ceyear { // output ce = @if( year<1, 0, 1 ); ceyear = @if( year<1, -year+1, year ); result = this; } function calc_year { // input year = @if( ce=1, ceyear, -ceyear+1 ); result = this; } use { calculate calc_ceyear; from:text calc_year; } format dmye "{day} |{month:m:a} |{ceyear} |{ce:ce:a}"; format wdmye "{wday:w:a} |{day} |{month:m:a} |{ceyear} |{ce:ce:a}"; format mdye "{month:m:a} |{day}, |{ceyear} |{ce:ce:a}"; format wmdye "{wday:w:a} |{month:m:a} |{day}, |{ceyear} |{ce:ce:a}"; format "dmye+" "{day} |{month:m} |{ceyear} |{ce:ce}"; format "wdmye+" "{wday:w} |{day} |{month:m} |{ceyear} |{ce:ce}"; format std "{day::os} |{month:m} |{ceyear} |{ce:ce}"; format full "{wday:w} |{day::os} |{month:m} |{ceyear} |{ce:ce}"; preferred dmye; } scheme jce { name "Julian Common Era"; base julian; grammar jce; }

The script uses the lexicon "w" definition from the jwn Julian Week Number scheme for the optional field wday.

It also uses the lexicon "m" definition from j Julian for the month field.

Home Development v0.3.0 Manual Hics Library jce

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

19th July 2023