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 | |||
---|---|---|---|
Number | Era Name | Abbrev. | Range |
0 | Before Common Era | BCE | past .. j:dmy# 31 Dec 0 |
1 | Common Era | CE | j: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 | |||||
---|---|---|---|---|---|
year | month | day | ce | ceyear | wday |
Record - Ranking order | |||||
---|---|---|---|---|---|
ce | ceyear | month | day | wday | year |
The ceyear
field has the value -year + 1
for all values of year
less than one,
and the value year
for all other values.
jce | ce | ceyear | month | day |
---|---|---|---|---|
1 | 1 | 1 | 1 |
j | year | month | day |
---|---|---|---|
1 | 1 | 1 |
jdn | day |
---|---|
1721424 |
Formats
The formats supplied with this scheme.
Formats - Grammar jce | |||||
---|---|---|---|---|---|
Code | Rule | Pseudo | Example | Note | |
dmye | text | Input: day month ceyear ce Output: dd Mon yyyy CE | 15 Mar 44 BCE 16 Jul 31 CE | D, S | |
wdmye | text | Input: wday day month ceyear ce Output: Wday dd Mon yyyy CE | Wed 15 Mar 44 BCE Mon 16 Jul 31 CE | ||
mdye | text | Input: month day ceyear ce Output: Mon dd, yyyy CE | Mar 15, 44 BCE Jul 16, 31 CE | S | |
wmdye | text | Input: wday month day ceyear ce Output: Wday Mon dd, yyyy CE | Wed Mar 15, 44 BCE Mon Jul 16, 31 CE | ||
dmye+ | text | Input: day month ceyear ce Output: dd Month yyyy CommonEra | 15 March 44 Before Common Era 16 July 31 Common Era | S | |
wdmye+ | text | Input: wday day month ceyear ce Output: Weekday dd Month yyyy CommonEra | Wednesday 15 March 44 Before Common Era Monday 16 July 31 Common Era | ||
std | text | Input: day month ceyear ce Output: ddth Month yyyy CommonEra | 15th March 44 Before Common Era 16th July 31 Common Era | S | |
full | text | Input: wday day month ceyear ce Output: Weekday ddth Month yyyy CommonEra | Wednesday 15th March 44 Before Common Era Monday 16th July 31 Common Era | ||
def | text | Input: year month day ce ceyear Output: year mm dd ce yyyy | -43 3 15 0 44 31 7 16 1 31 | H | |
u | unit | Input: 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.