Discordian date: Difference between revisions
Content added Content deleted
m (→{{header|Tcl}}: comment adding) |
(add scala implementation) |
||
Line 51: | Line 51: | ||
season, dday = divmod(day_of_year, 73) |
season, dday = divmod(day_of_year, 73) |
||
return "%s %d, YOLD %d" % (DISCORDIAN_SEASONS[season], dday + 1, year + 1166) |
return "%s %d, YOLD %d" % (DISCORDIAN_SEASONS[season], dday + 1, year + 1166) |
||
</lang> |
|||
=={{header|Scala}}== |
|||
{{trans|Python}} |
|||
<lang scala> |
|||
import java.util.{GregorianCalendar, Calendar} |
|||
val DISCORDIAN_SEASONS=Array("Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath") |
|||
def ddate(year:Int, month:Int, day:Int):String={ |
|||
val date=new GregorianCalendar(year, month-1, day) |
|||
val dyear=year+1166 |
|||
val isLeapYear=date.isLeapYear(year) |
|||
if(isLeapYear && month==2 && day==29) |
|||
return "St. Tib's Day "+dyear+" YOLD" |
|||
var dayOfYear=date.get(Calendar.DAY_OF_YEAR) |
|||
if(isLeapYear && dayOfYear>=60) |
|||
dayOfYear-=1 // compensate for St. Tib's Day |
|||
val dday=dayOfYear%73 |
|||
val season=dayOfYear/73 |
|||
"%s %d, %d YOLD".format(DISCORDIAN_SEASONS(season), dday, dyear) |
|||
} |
|||
</lang> |
</lang> |
||