Discordian date: Difference between revisions

add scala implementation
m (→‎{{header|Tcl}}: comment adding)
(add scala implementation)
Line 51:
season, dday = divmod(day_of_year, 73)
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>
 
Anonymous user