Holidays related to Easter: Difference between revisions

Added Quackery.
m (syntax highlighting fixup automation)
(Added Quackery.)
Line 3,833:
2019 Easter: Sun 21 Apr, Ascension: Thu 30 May, Pentecost: Sun 9 Jun, Trinity: Sun 16 Jun, Corpus: Thu 20 Jun
2020 Easter: Sun 12 Apr, Ascension: Thu 21 May, Pentecost: Sun 31 May, Trinity: Sun 7 Jun, Corpus: Thu 11 Jun
</pre>
 
=={{header|Quackery}}==
 
Julian calendar for dates prior to 1583CE, Gregorian calendar thereafter.
 
<syntaxhighlight lang="Quackery">
[ dup 19 mod 19 *
15 + 30 mod
swap dup 4 mod 2 *
swap 7 mod 4 * +
over - 34 + 7 mod +
114 + 31 /mod 1+ ] is julian ( y --> m d )
 
[ dup 19 mod 19 *
over 100 / +
over 400 / -
swap 100 / 8 * 13 +
25 / - 15 + 30 mod ] is hge ( y --> n )
 
[ dup 100 / 4 mod 2 * 32 +
over 100 mod 4 / 2 * +
over hge -
swap 4 mod - 7 mod ] is lge ( y --> n )
 
[ dup 19 mod
over hge 11 * +
swap lge 19 * + 443 / ] is mge ( y --> n )
 
[ dup hge
over lge +
swap mge 7 * -
90 + 25 / ] is nge ( y --> n )
 
[ dup hge
over lge +
over mge 7 * +
swap nge 33 * +
19 + 32 mod ] is pge ( y --> n )
 
[ dup nge swap pge ] is gregorian ( y --> m d )
 
[ dup 1583 < iff
julian
else gregorian ] is easter ( y --> m d )
 
[ dip 1+ 9 +
dup 31 > if
[ dip 1+ 31 - ] ] is ascension ( m d --> )
 
[ dip 1+ 19 +
dup 31 > if
[ dip 1+ 31 - ] ] is pentecost ( m d --> )
 
[ dip 1+ 26 +
dup 31 > if
[ dip 1+ 31 - ] ] is trinity ( m d --> )
 
[ dip 1+ 30 +
dup 31 > if
[ dip 1+ 31 - ] ] is corpus ( m d --> )
 
[ swap 3 -
[ table
$ "Mar" $ "Apr"
$ "May" $ "Jun" ]
do echo$ sp
dup 10 < if [ say "0" ]
echo ] is echodate ( m d --> )
 
[ dup 1000 < if sp
dup echo say " "
easter 2dup echodate
say " "
2dup ascension echodate
say " "
2dup pentecost echodate
say " "
2dup trinity echodate
say " "
corpus echodate cr ] is echodates ( y --> )
 
say "Year Easter Ascension Trinity Corpus"
cr
say "(CE) Sunday Thursday Pentecost Sunday Christi"
cr cr
18 times
[ i^ 100 * 400 + echodates ]
cr
11 times
[ i^ 2010 + echodates ]</syntaxhighlight>
 
{{out}}
 
Output concurs with the [[Holidays_related_to_Easter#Western_holidays|bc Western holidays]] entry.
 
<pre>Year Easter Ascension Trinity Corpus
(CE) Sunday Thursday Pentecost Sunday Christi
 
400 Apr 01 May 10 May 20 May 27 May 31
500 Apr 02 May 11 May 21 May 28 Jun 01
600 Apr 10 May 19 May 29 Jun 05 Jun 09
700 Apr 11 May 20 May 30 Jun 06 Jun 10
800 Apr 19 May 28 Jun 07 Jun 14 Jun 18
900 Apr 20 May 29 Jun 08 Jun 15 Jun 19
1000 Mar 31 May 09 May 19 May 26 May 30
1100 Apr 01 May 10 May 20 May 27 May 31
1200 Apr 09 May 18 May 28 Jun 04 Jun 08
1300 Apr 10 May 19 May 29 Jun 05 Jun 09
1400 Apr 18 May 27 Jun 06 Jun 13 Jun 17
1500 Apr 19 May 28 Jun 07 Jun 14 Jun 18
1600 Apr 02 May 11 May 21 May 28 Jun 01
1700 Apr 11 May 20 May 30 Jun 06 Jun 10
1800 Apr 13 May 22 Jun 01 Jun 08 Jun 12
1900 Apr 15 May 24 Jun 03 Jun 10 Jun 14
2000 Apr 23 Jun 01 Jun 11 Jun 18 Jun 22
2100 Mar 28 May 06 May 16 May 23 May 27
 
2010 Apr 04 May 13 May 23 May 30 Jun 03
2011 Apr 24 Jun 02 Jun 12 Jun 19 Jun 23
2012 Apr 08 May 17 May 27 Jun 03 Jun 07
2013 Mar 31 May 09 May 19 May 26 May 30
2014 Apr 20 May 29 Jun 08 Jun 15 Jun 19
2015 Apr 05 May 14 May 24 May 31 Jun 04
2016 Mar 27 May 05 May 15 May 22 May 26
2017 Apr 16 May 25 Jun 04 Jun 11 Jun 15
2018 Apr 01 May 10 May 20 May 27 May 31
2019 Apr 21 May 30 Jun 09 Jun 16 Jun 20
2020 Apr 12 May 21 May 31 Jun 07 Jun 11
</pre>
 
1,462

edits