So just change the / to % and you have a Rexx program :-)

Les

Jim Bohnsack wrote:
Here are dates that could be put into a table.

The following are dates of Easter from 1980 to 2024:

1980  April 6          1995  April 16        2010  April 4

1981  April 19          1996  April 7        2011  April 24

1982  April 11          1997  March 30        2012  April 8

1983  April 3          1998  April 12        2013  March 31

1984  April 22          1999  April 4        2014  April 20

1985  April 7          2000  April 23        2015  April 5

1986  March 30          2001  April 15        2016  March 27

1987  April 19          2002  March 31        2017  April 16

1988  April 3          2003  April 20        2018  April 1

1989  March 26          2004  April 11        2019  April 21

1990  April 15          2005  March 27        2020  April 12

1991  March 31          2006  April 16        2021  April 4

1992  April 19          2007  April 8        2022  April 17

1993  April 11          2008  March 23        2023  April 9

1994  April 3          2009  April 12        2024  March 31




Here's the formula.  It's a SMOP (simple matter of programming).


       Computing the Date of Easter

The rule is that Easter is the first Sunday after the first ecclesiastical full moon that occurs on or after March 21. The lunar cycles used by the ecclesiastical system are simple to program. The following algorithm will compute the date of Easter in the Gregorian Calendar system.

Please note the following: *This is an _integer_ calculation. All variables are integers and all remainders from division are dropped.*

The algorithm uses the year, /y/, to give the month, /m/, and day, /d/, of Easter. The symbol * means multiply.

    c = y / 100
    n = y - 19 * ( y / 19 )
    k = ( c - 17 ) / 25
    i = c - c / 4 - ( c - k ) / 3 + 19 * n + 15
    i = i - 30 * ( i / 30 )
    i = i - ( i / 28 ) * ( 1 - ( i / 28 ) * ( 29 / ( i + 1 ) )
        * ( ( 21 - n ) / 11 ) )
    j = y + y / 4 + i + 2 - c + c / 4
    j = j - 7 * ( j / 7 )
    l = i - j
    m = 3 + ( l + 40 ) / 44
    d = l + 28 - 31 * ( m / 4 )


For example, using the year 2010,
y=2010,
c=2010/100=20,
n=2010 - 19 x (2010/19) = 15,
etc. resulting in Easter on April 4, 2010.

The algorithm is due to J.-M. Oudin (1940) and is reprinted in the Explanatory Supplement to the Astronomical Almanac <http://aa.usno.navy.mil/publications/docs/related.html#expsup>, ed. P. K. Seidelmann (1992). See Chapter 12, "Calendars" <http://astro.nmsu.edu/%7Elhuber/leaphist.html>, by L. E. Doggett.

Jim



On 12/29/2010 8:42 AM, Buettner, Wolfgang wrote:
This is a multi-part message in MIME format.

------_=_NextPart_001_01CBA75E.2DEACDB1
Content-Type: text/plain;
    charset=us-ascii
Content-Transfer-Encoding: quoted-printable

We have some services which should be up during normal working hours
only, i.e. not on weekends and not on public holidays either.

Could be done by WAKEUP, but ...

How to code movable feasts like Easter Monday and others depending on
the first full moon in spring?

I know the formula is complex, so I believe it would be very much
simpler to get those dates from an actual calendar and hard-code them
each year than to write a REXX.

Any other ideas?



Thank you and a Happy New Year,

Wolfgang


Software AG - Group Executive Board: Karl-Heinz Streibich (Vorsitzender/Chai= rman), Arnd Zinnhardt, Mark Edwards, David Broadbent, Josef Bommersbach, Dr.=
  Wolfram Jost, Kamyar Niroumand, Ivo Totev

Sitz/Registered office: Uhlandstra?e 12, 64297 Darmstadt, Germany, - Registe= rgericht/Commercial register: Darmstadt HRB 1562 - Vorstand/ Management Boar= d: Karl-Heinz Streibich (Vorsitzender/Chairman), David Broadbent, Dr. Wolfra= m Jost, Arnd Zinnhardt; - Aufsichtsratsvorsitzender/ Chairman of the Supervi=
sory Board: Dr. Andreas Bereczky - http://www.softwareag.com/


------_=_NextPart_001_01CBA75E.2DEACDB1
Content-Type: text/html;
    charset=us-ascii
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><head><M= ETA content=3D"text/html; charset=3Dus-ascii" http-equiv=3D"Content-Type">





<META content=3D"text/html; charset=3Dus-ascii" http-equiv=3DContent-Type>
<META content=3D"MSHTML 8.00.6001.18999" name=3DGENERATOR></head><BODY>
<DIV><FONT FACE=3D"Trebuchet MS" SIZE=3D"1"><FONT SIZE=3D"3">
<DIV><FONT face=3DArial size=3D2><SPAN class=3D729260409-01122010>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt"><SPAN lang=3DEN-GB style= =3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt; mso-ansi-language: EN-GB">We have s=
ome services which should be up during normal working hours
only, i.e. not on weekends and not on public holidays either.</SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt"><SPAN lang=3DEN-GB style= =3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt; mso-ansi-language: EN-GB"></SPAN><S= PAN lang=3DEN-GB style=3D"mso-ansi-language: EN-GB"><?xml:namespace prefix =
=3D o ns =3D
"urn:schemas-microsoft-com:office:office" /><o:p><SPAN class=3D729260409-011=
22010>Could be done by WAKEUP, but
=2E..&nbsp;</SPAN></o:p></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt"><SPAN lang=3DEN-GB style= =3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt; mso-ansi-language: EN-GB">How to co=
de&nbsp;movable feasts like Easter Monday and others
depending on the first full moon in spring?</SPAN><SPAN lang=3DEN-GB style=
=3D"mso-ansi-language: EN-GB"><o:p></o:p></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt"><SPAN lang=3DEN-GB style= =3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt; mso-ansi-language: EN-GB">I know th=
e formula is complex, so<SPAN class=3D729260409-01122010>  I
believe</SPAN>&nbsp;it would be very much simpler to&nbsp;<SPAN class=3D7292=
60409-01122010>get</SPAN>those dates<SPAN class=3D729260409-01122010>
from an actual calendar and hard-code them</SPAN>&nbsp;each year than to wri=
te a
REXX.</SPAN><SPAN lang=3DEN-GB style=3D"mso-ansi-language: EN-GB"><o:p></o:p=
</SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt"><SPAN lang=3DEN-US style= =3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt; mso-ansi-language: EN-US">Any other= ideas?&nbsp;</SPAN><SPAN lang=3DEN-GB style=3D"mso-ansi-language: EN-GB"><o=
:p></o:p></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt"><SPAN lang=3DEN-GB style= =3D"mso-ansi-language: EN-GB"><FONT size=3D3><FONT face=3D"Times New Roman">=
&nbsp;<o:p></o:p></FONT></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt"><SPAN lang=3DEN-GB style= =3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt; mso-ansi-language: EN-GB">Thank you=
<SPAN class=3D729260409-01122010>  and a Happy New
Year</SPAN>,</SPAN><SPAN lang=3DEN-GB style=3D"mso-ansi-language: EN-GB"><o:=
p></o:p></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt"><SPAN lang=3DES style=3D"= FONT-FAMILY: Arial; FONT-SIZE: 10pt">Wolfgang</SPAN><SPAN lang=3DES><o:p></o=
:p></SPAN></P></SPAN></FONT></DIV></FONT><BR></FONT>
<DIV ALIGN=3D"left"><FONT FACE=3D"Trebuchet MS">  </FONT></DIV>
<DIV ALIGN=3D"center">
<TABLE BORDER=3D"1" BORDERCOLOR=3D"#666666" CELLPADDING=3D"5" CELLSPACING=
=3D"0" WIDTH=3D"100%">
<TBODY>
<TR>
<TD>
<DIV ALIGN=3D"left"><SPAN CLASS=3D"style3"><FONT COLOR=3D"gray"><FONT FACE=
=3D"Trebuchet MS"><FONT SIZE=3D"1"><SPAN CLASS=3D"style4">
Software AG&#8211; Group Executive Board: Karl-Heinz Streibich (Vorsitzende= r/Chairman), Arnd Zinnhardt, Mark Edwards, David Broadbent, Josef Bommersbac=
h, Dr. Wolfram Jost, Kamyar Niroumand, Ivo Totev<BR><BR>
Sitz/Registered office: Uhlandstra&#223;e 12, 64297 Darmstadt, Germany,&#82= 11; Registergericht/Commercial register: Darmstadt HRB 1562 - Vorstand/ Mana= gement Board: Karl-Heinz Streibich (Vorsitzender/Chairman), David Broadbent,= Dr. Wolfram Jost, Arnd Zinnhardt; - Aufsichtsratsvorsitzender/ Chairman of =
the Supervisory Board: Dr. Andreas Bereczky</SPAN>-</FONT></FONT></FONT>=
<A HREF=3D"http://www.softwareag.com/";><FONT COLOR=3D"gray"><FONT FACE=3D"Tr= ebuchet MS"><FONT SIZE=3D"1"><FONT COLOR=3D"navy"><STRONG>http://www.softwar= eag.com</STRONG></FONT> </FONT></FONT></FONT></A></SPAN></DIV></TD></TR></TB=
ODY></TABLE></DIV>
<DIV ALIGN=3D"left"><FONT FACE=3D"Trebuchet MS" SIZE=3D"1"> </FONT></DIV> <DIV><FONT FACE=3D"Trebuchet MS" SIZE=3D"1"><BR></FONT></DIV></DIV></BODY></=
HTML>

------_=_NextPart_001_01CBA75E.2DEACDB1--

Reply via email to