Calendar Description - Scheme je
The Julian Easter scheme is a variant of the Julian calendar obtained by shifting the year change forward from the 1st January to Easter Sunday for the year in question. Because Easter varies from 22nd March to 25th April, the length of the year varies. Some years a few days will occur twice in an Easter year and sometimes a few days will be invalid for that year.
Use Case
Used in some French provinces around the 13th century.
A variant of this calendar was used in the English Regnal calendar as King John used the year from Ascension Day (40 days following Easter Sunday).
Definition
Record - Default order | ||||||
---|---|---|---|---|---|---|
eyear | repeat | month | day | repeated | hyear | wsday |
Record - Ranking order | ||||||
---|---|---|---|---|---|---|
eyear | month | day | repeat | repeated | hyear | wsday |
The Julian Easter calendar is based on Julian calendar and the same days of the year the Julian calendar except the year change occurs on Easter Sunday. The calendar is given the nominal epoch of 27th March 1, the calculated day of Easter in the Julian year 1.
The Epoch is set at
je | year | month | day | hist |
---|---|---|---|---|
1 | 3 | 27 | 1 |
j | year | month | day |
---|---|---|---|
1 | 3 | 27 |
jdn | day |
---|---|
1721509 |
Formats
Range shortcut formats (where only part of the date is written - such as the year) has not been implemented for this scheme.
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. Only the dual dating system is used for the visible formats of 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.
When inputting a date, the historical year is optional.
Repeated Days
The nature of this scheme is that every few years the month and day values
overlap the year number increase.
The default field repeat
is used to show when this occurs,
it has the value of 0 normally, but when the month and day overlap,
it has the value 1.
As the repeat overlap only occurs rarely it is confusing to keep
displaying the first use of the eyear, month, day
and only indicate when it is repeated.
A calculated field repeated
is used
that has the value null
when repeat = 0
and 1
when repeat = 1
.
Formats that use the repeated
field,
only display it when the day is repeated for the second time.
Repeated Date - Lexicons rpt and rptd | ||
---|---|---|
Number | Name | Abbrev. |
0 | First | F |
1 | Repeated | Rpt |
The lexicon rpt
is associated with the field repeat
.
The lexicon rptd
is associated with the field repeated
.
Available Formats
Formats - Grammar je | |||||
---|---|---|---|---|---|
Code | Rule | Pseudo | Example | Note | |
dmy | text | Input: day month eyear repeated Output: dd Month yyyy/h Repeated | 2 April 2022/3 3 April 2023 3 April 2023/4 Repeated | D | |
dmy_a | text | Input: day month eyear repeated Output: dd Mon yyyy/h Rpt | 2 Apr 2022/3 3 Apr 2023 3 Apr 2023/4 Rpt | ||
wdmy | text | Input: wsday day month eyear repeated Output: Weekday dd Month yyyy/h Repeated | Saturday 2 April 2022/3 Sunday 3 April 2023 Tuesday 3 April 2023/4 Repeated | ||
wdmy_a | text | Input: wsday day month eyear repeated Output: Wday dd Mon yyyy/h Rpt | Sat 2 Apr 2022/3 Sun 3 Apr 2023 Tue 3 Apr 2023/4 Rpt | ||
mdy | text | Input: month day eyear repeated Output: Month dd, yyyy/h Repeated | April 2, 2022/3 April 3, 2023 April 3, 2023/4 Repeated | ||
mdy_a | text | Input: month day eyear repeated Output: Mon dd, yyyy/h Rpt | Apr 2, 2022/3 Apr 3, 2023 Apr 3, 2023/4 Rpt | ||
all | text | Input: wsday day month eyear repeat Output: Weekday dd Month yyyy/h Repeated | Saturday 2 April 2022/3 First Sunday 3 April 2023 First Tuesday 3 April 2023/4 Repeated | ||
all_a | text | Input: wsday day month eyear repeat Output: Wday dd Mon yyyy/h Rpt | Sat 2 Apr 2022/3 F Sun 3 Apr 2023 F Tue 3 Apr 2023/4 Rpt | ||
def | text | Input: eyear repeat month day repeated Output: yyyy rpt mm dd repeated | 2022 0 4 2 2023 0 4 3 2023 1 4 3 1 | H | |
u | unit | Input: 9y 9r 9m 9d 9rptd Output: 9y 9r 9m 9d 9rptd | 2022y 0r 4m 2d 2023y 0r 4m 3d 2023y 1r 4m 3d 1rptd | H | |
Notes: D = Default, H = Hidden. Example based on jdn# 2460050, 2460051 and 2460417 |
Script
Script - Module hics:easter |
---|
lexicon rpt { name "Repeated Date"; fieldname repeat; lang en; pseudo Repeated, Rpt; tokens { 0, "First", "F"; 1, "Repeated", "Rpt"; } } lexicon rptd { inherit rpt; fieldname repeated; } grammar je { fields eyear repeat month day; calculated repeated; optional hyear wsday; rank eyear month day; lexicons m ws rpt rptd; alias pseudo { w wsday; rpt repeat; dd day; mm month; yyyy eyear; h hyear; } alias unit { d day; r repeat; m month; y eyear; rptd repeated; } function def_to_calc { repeated = @if( repeat=1, 1, null ); result = this; } function calc_to_def { repeat = @if( repeated=1, 1, 0 ); result = this; } use { calculate def_to_calc; from:text calc_to_def; } format dmy "{day} |{month:m} |{eyear/hyear}| {repeated:rptd}"; format dmy_a "{day} |{month:m:a} |{eyear/hyear}| {repeated:rptd:a}"; format wdmy "{wsday:ws} |{day} |{month:m} |{eyear/hyear}| {repeated:rptd}"; format wdmy_a "{wsday:ws:a} |{day} |{month:m:a} |{eyear/hyear}| {repeated:rptd:a}"; format mdy "{month:m} |{day}, |{eyear/hyear}| {repeated:rptd}"; format mdy_a "{month:m:a} |{day}, |{eyear/hyear}| {repeated:rptd:a}"; format all "{wsday:ws} |{day} |{month:m} |{eyear/hyear}| {repeat:rpt}"; format all_a "{wsday:ws:a} |{day} |{month:m:a} |{eyear/hyear}| {repeat:rpt:a}"; preferred dmy; } scheme je { name "Julian Easter"; base easter; grammar je; } |
The script uses the lexicon "m" definition from
j Julian for the month
field
and "w" definition from the
jwsn Julian Week (Sunday) Number scheme
for the optional field wsday.