Anonymous user
Discordian date: Difference between revisions
m
→{{header|REXX}}: added support for 2-digit year.
m (→{{header|REXX}}: adjusted scroll window height.) |
m (→{{header|REXX}}: added support for 2-digit year.) |
||
Line 173:
parse arg gM '/' gD "/" gY . /*get the date specified. */
▲doy=date('D',gY||gM||gD,"s")-(leapyear(gY) & gM>2) /*get day-of-year.*/
dW=doy//5;if dW==0 then dW=5 /*compute the Discordian weekday.*/
dS=(doy-1)%73+1 /*compute the Discordian season. */
dD=doy//73;if dD==0 then dD=73;
if leapyear(gY) & gM==02 & gD==29 then do; dD=''; ds=0; end /*St. Tib's?*/
say space(day.dW',' seas.dS dD
exit
/*─────────────────────────────────────LEAPYEAR subroutine──────────────*/
leapyear: procedure; arg y
if y//4\==0 then return 0 /* not ≈ by 4? Not a leapyear.*/
return y//100\==0 | y//400==0 /*apply 100 and 400 year rule. */
|