Discordian date: Difference between revisions

Added Algol 68
(Added Delphi example)
(Added Algol 68)
Line 695:
Setting Orange, day 26 of Bureaucracy in the YOLD 3178
Setting Orange, day 73 of The Aftermath in the YOLD 3178</pre>
 
=={{header|ALGOL 68}}==
{{Trans|ALGOL W}} which was itself, {{Trans|MAD}}
<lang algol68>BEGIN # DISCORDIAN DATE CALCULATION - TRANSLATION OF MAD VIA ALGOL W #
INT greg, gmonth, gday, gyear;
[]STRING holys = []STRING( "MUNG", "MOJO", "SYA", "ZARA", "MALA" )[ AT 0 ];
[]STRING holys0 = []STRING( "CHAO", "DISCO", "CONFU", "BURE", "AF" )[ AT 0 ];
[]STRING disday = []STRING( "SWEETMORN", "BOOMTIME", "PUNGENday", "PRICKLE-PRICKLE", "SETTING ORANGE" )[ AT 0 ];
[]STRING disssn = []STRING( "CHAOS", "DISCORD", "CONFUSION", "BUREAUCRACY", "THE AFTERMATH" )[ AT 0 ];
[]INT mlengt = []INT( 0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 )[ AT 0 ];
CHAR slash1, slash2;
# input date should contain MM/DD/YYYY in the gregorian calendar #
read( ( gmonth, slash1, gday, slash2, gyear ) );
IF slash1 /= "/" OR slash2 /= "/" THEN print( ( "Invalid date format", newline ) ); stop FI;
 
IF gmonth = 2 AND gday = 29
THEN print( ( "SAINT TIB'S DAY IN THE Y.O.L.D. ", whole( gyear + 1166, -4 ), newline ) )
ELSE
INT yrday := mlengt[ gmonth ] + gday;
INT season := yrday OVER 73;
INT day := yrday - ( season * 73 );
INT wkday := ( yrday - 1 ) MOD 5;
print( ( disday[ wkday ], ", DAY ", whole( day, -2 ), " OF ", disssn[ season ]
, " IN THE Y.O.L.D ", whole( gyear + 1166, 0 ), newline
)
);
IF day = 5 THEN print( ( "CELEBRATE ", holys[ season ], "DAY" ) )
ELIF day = 50 THEN print( ( "CELEBRATE ", holys0[ season ], "FLUX" ) )
FI
FI
END</lang>
{{out}}
<pre>
11/04/1167
PUNGENday, day 16 OF THE AFTERMATH IN THE Y.O.L.D 2333
 
08/15/2017
BOOMTIME, DAY 8 OF BUREAUCRACY IN THE Y.O.L.D 3183
 
12/06/2020
SETTING ORANGE, DAY 48 OF THE AFTERMATH IN THE Y.O.L.D 3186
 
07/12/1969
PUNGENday, DAY 47 OF CONFUSION IN THE Y.O.L.D 3135
 
07/05/2005
SWEETMORN, DAY 40 OF CONFUSION IN THE Y.O.L.D 3171
 
09/26/1995
PRICKLE-PRICKLE, DAY 50 OF BUREAUCRACY IN THE Y.O.L.D 3161
CELEBRATE BUREFLUX
 
11/30/2021
PRICKLE-PRICKLE, DAY 42 OF THE AFTERMATH IN THE Y.O.L.D 3187
</pre>
 
=={{header|ALGOL W}}==
3,032

edits