Discordian date: Difference between revisions
Content added Content deleted
(→{{header|Haskell}}: correct for leap year) |
(→{{header|Haskell}}: no ifthenelse + another leapyear exanple) |
||
Line 14: | Line 14: | ||
let doy = monthAndDayToDayOfYear (isLeapYear y) m d |
let doy = monthAndDayToDayOfYear (isLeapYear y) m d |
||
(season, dday) = divMod doy 73 |
(season, dday) = divMod doy 73 |
||
dos = dday - fromEnum (isLeapYear y && m >2) |
|||
dDate |
dDate |
||
| isLeapYear y && m==2 && d==29 = "St. Tib's Day, " ++ show (y+1166) ++ " YOLD" |
| isLeapYear y && m==2 && d==29 = "St. Tib's Day, " ++ show (y+1166) ++ " YOLD" |
||
| otherwise = seasons!!season ++ " " ++ show |
| otherwise = seasons!!season ++ " " ++ show dos ++ ", " ++ show (y+1166) ++ " YOLD" |
||
⚫ | |||
⚫ | |||
</lang> |
|||
Examples: |
Examples: |
||
<pre>*Main> mapM_ discordianDate [(2012,2,28),(2012,2,29),(2010,9,2),(2010,12,6)] |
<pre>*Main> mapM_ discordianDate [(2012,2,28),(2012,2,29),(2012,3,1),(2010,9,2),(2010,12,6)] |
||
Chaos 59, 3178 YOLD |
Chaos 59, 3178 YOLD |
||
St. Tib's Day, 3178 YOLD |
St. Tib's Day, 3178 YOLD |
||
Chaos 60, 3178 YOLD |
|||
Bureaucracy 26, 3176 YOLD |
Bureaucracy 26, 3176 YOLD |
||
The_Aftermath 48, 3176 YOLD</pre> |
The_Aftermath 48, 3176 YOLD</pre> |
||
In GHCi we can also execute shell commands. |
In GHCi we can also execute shell commands. |
||
* Using Linux utility ddate |
* Using Linux utility ddate |