Works fine.
See one REXX version:

/******/ 
trace r 
arg year . 
c = year % 100 
n = year - 19 * ( year % 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 = year + year % 4 + i + 2 - c + c % 4 
j = j - 7 * ( j % 7 ) 
l = i - j 
m = 3 + ( l + 40 ) % 44 
m = right(m,2,"0") 
d = l + 28 - 31 * ( m % 4 ) 
d = right(d,2,"0") 
Say date("N",year||m||d,"S") 
exit       
______________________________________________
Clovis 


From:
Kris Buelens <kris.buel...@gmail.com>
To:
IBMVM@LISTSERV.UARK.EDU
Date:
29/12/2010 14:53
Subject:
Re: Movable Feasts
Sent by:
The IBM z/VM Operating System <IBMVM@LISTSERV.UARK.EDU>



And there is // to get the remainder of a division.

2010/12/29 Gentry, Stephen <stephen.gen...@lafayettelife.com>
So it would appear.  At least it works for me.
I didn't know about the "%"  (w/o quotes).
I learned something today.


-----Original Message-----
From: The IBM z/VM Operating System [mailto:ib...@listserv.uark.edu] On
Behalf Of Les Koehler
Sent: Wednesday, December 29, 2010 11:01 AM
To: IBMVM@LISTSERV.UARK.EDU
Subject: Re: Movable Feasts

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--
>



-- 
Kris Buelens,
IBM Belgium, VM customer support

Reply via email to