Glich - v0.3.0 Manual
jn - Julian Nativity
Home Development v0.3.0 Manual Hics Library jn

Calendar Description - Scheme jn

The Julian Nativity calendar is a variant of the Julian calendar obtained by shifting the year change back from the 1st January to the 25th December.

Use Case

This is the form the Anno Domimi or AD era took when it originated. It was developed in 525 CE by the monk Dionysius Exiguus for use when he was calculating tables of the Easter date. It was used by the Venerable Bede in his writing and then by the Church and more generally from the 8th century. It was gradually replaced by the Annunciation year change (25th March) and others from the 9th century. It was in common use up to the 14th century.

Definition

The Record consists of three julian required Fields named year, month and day, a calculated field cyear and the optional field wday.

The field cyear is the Civil Year while the year is the Historic Year.

Record - Default order
yearmonthdaycyearwday
Record - Ranking order
cyearmonthdaywdayyear

The field cyear (Civil Year) equals year (Historic Year) apart from the days 25 Dec to 31 dec, when cyear equals year + 1

The Epoch is set at
jncyearmonthday
11225
=
jyearmonthday
01225
=
jdnday
1721417
.

Formats

Formatting a date for schemes where the New Year date (Historical Year) and Year number increment date (Civil Year) is different can lead to confusion if it is not made clear which year is displayed. It is proposed that the dual dating system is used for this scheme.

Dual Dates

The Civil year is always shown in full. If this is the same as the Historical year then this is the only year shown. If the years differ, then the last digit (or as many as are different) is shown. This is separated from the Civil year with a '/' slash character.

Examples jn:dmy#
24 Dec 1134 25 Dec 1135/4 31 Dec 1135/4 1 Jan 1135

The term 'Dual Dates' is often used for different types of formatting, such as combining Julian and Gregorian dates. This library only uses the term for Civil/Historical years, as described above.

Formats Provided

Formats - Grammar j_sh
CodeRulePseudoExampleNote
dmytextInput: day month cyear
Output: dd Mon yyyy/h
24 Dec 1234
25 Dec 1235/4
D, S
dmy+textInput: day month cyear
Output: dd Month yyyy/h
24 December 1234
25 December 1235/4
S
wdmytextInput: wday day month cyear
Output: Wday dd Mon yyyy/h
Sun 24 Dec 1234
Mon 25 Dec 1235/4
wdmy+textInput: wday day month cyear
Output: Weekday dd Month yyyy/h
Sunday 24 December 1234
Monday 25 December 1235/4
stdtextInput: day month cyear
Output: ddth Month yyyy/h
24th December 1234
25th December 1235/4
S
fulltextInput: wday day month cyear
Output: Weekday ddth Month yyyy/h
Sunday 24th December 1234
Monday 25th December 1235/4
mdytextInput: month day cyear
Output: Mon dd, yyyy/h
Dec 24, 1234
Dec 25, 1235/4
S
mdy+textInput: month day cyear
Output: Month dd, yyyy/h
December 24, 1234
December 25, 1235/4
S
wmdytextInput: wday month day cyear
Output: Wday, Mon dd, yyyy/h
Sun, Dec 24, 1234
Mon, Dec 25, 1235/4
wmdy+textInput: wday month day cyear
Output: Weekday, Month dd, yyyy/h
Sunday, December 24, 1234
Monday, December 25, 1235/4
cdeftextInput: cyear month day
Output: yyyy mm dd
1234 12 24
1235 12 25
H, S
deftextInput: year month day cyear
Output: h mm dd yyyy
1234 12 24 1234
1234 12 25 1235
H
uunitInput: 9hy 9m 9d 9cy
Output: 9hy 9m 9d 9cy
1234hy 12m 24d 1234cy
1234hy 12m 25d 1235cy
H
Notes: D = Default, H = Hidden, S = Range shortcut supported. Example based on jdn# 2172134 and 2172135

Script

Script - Module hics:julian_shift
grammar j_sh { name "Julian shifted epoch"; fields year month day; calculated cyear; optional wday; rank cyear month day; lexicons m w; alias pseudo { w wday; dd day; mm month; yyyy cyear; h year; } alias unit { d day; m month; hy year; cy cyear; } use epoch; format dmy "{day} |{month:m:a} |{cyear/year}"; format "dmy+" "{day} |{month:m} |{cyear/year}"; format wdmy "{wday:w:a} |{day} |{month:m:a} |{cyear/year}"; format "wdmy+" "{wday:w} |{day} |{month:m} |{cyear/year}"; format std "{day::os} |{month:m} |{cyear/year}"; format full "{wday:w} |{day::os} |{month:m} |{cyear/year}"; format mdy "{month:m:a} |{day}, |{cyear/year}"; format "mdy+" "{month:m} |{day}, |{cyear/year}"; format wmdy "{wday:w:a}, |{month:m:a} |{day}, |{cyear/year}"; format "wmdy+" "{wday:w}, |{month:m} |{day}, |{cyear/year}"; format cdef { inout "{cyear}| {month}| {day}"; visible no; } preferred dmy; } scheme jn { name "Julian Nativity"; base julian; epoch 1721417; // j:dmy# 25 Dec 0 grammar j_sh; }

The script uses the lexicon "m" definition from j Julian for the month field.

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

Home Development v0.3.0 Manual Hics Library jn

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

19th July 2023