object DayOfYearDemo {
def isLeapYear(year: Int): Boolean =
(year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0))
def getDayOfYear(year: Int, month: Int, day: Int): Int = {
// cumulative days at the end of each month (non-leap year)
val days = Array(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
if (isLeapYear(year) && month > 2)
days(month - 1) + day + 1
else
days(month - 1) + day
}
def main(args: Array[String]): Unit = {
val dayOfYear = getDayOfYear(2023, 5, 15)
println(dayOfYear)
}
}
/*
run:
135
*/