Discordian date: Difference between revisions
Content added Content deleted
(→{{header|Go}}: library changes) |
|||
Line 851: | Line 851: | ||
look at [http://www.cs.cmu.edu/~tilt/principia/body.html#applecorps calendar]; |
look at [http://www.cs.cmu.edu/~tilt/principia/body.html#applecorps calendar]; |
||
lern about [http://jubal.westnet.com/hyperdiscordia/discordian_holydays.html holydays] |
lern about [http://jubal.westnet.com/hyperdiscordia/discordian_holydays.html holydays] |
||
=={{header|Mathematica}}== |
|||
<lang Mathematica>DiscordianDate[y_, m_, d_] := Module[{year = ToString[y + 1166], month = m, day = d}, |
|||
DMONTHS = {"Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath"}; |
|||
DDAYS = {"Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange"}; |
|||
DayOfYear = DateDifference[{y} ,{y, m, d}] + 1; |
|||
LeapYearQ = (Mod[#, 4]== 0 && (Mod[#, 100] != 0 || Mod[#, 400] == 0))&@ y; |
|||
If [ LeapYearQ && month == 2 && day == 29, |
|||
Print["Today is St. Tib's Day, YOLD ", ] |
|||
, |
|||
If [ LeapYearQ && DayOfYear >= 60, DayOfYear -= 1 ]; |
|||
{season, dday} = {Quotient[DayOfYear, 73], Mod[DayOfYear, 73]}; |
|||
Print["Today is ", DDAYS[[Mod[dday,4] + 1]],", ",DMONTHS[[season+1]]," ",dday,", YOLD ",year] |
|||
]; |
|||
]</lang> |
|||
Example output: |
|||
<pre>DiscordianDate[2012,2,28] |
|||
-> Today is Prickle-Prickle, Chaos 59, YOLD 3178 |
|||
DiscordianDate[2012,2,29] |
|||
-> Today is St. Tib's Day, YOLD 3178 |
|||
DiscordianDate[2012,3,1] |
|||
-> Today is Setting Orange, Chaos 60, YOLD 3178</pre> |
|||
=={{header|Perl 6}}== |
=={{header|Perl 6}}== |