import java.time.{LocalDate, Month}
import java.time.temporal.ChronoUnit
// ---------------------------------------------------------
// Function: daysUntilChristmas
// Purpose : Calculate how many days remain until Christmas.
// ---------------------------------------------------------
def daysUntilChristmas(): Long = {
// Get today's date from the system
val today = LocalDate.now()
// Extract the current year
val year = today.getYear
// Build a date for Christmas of the current year
// December = month 12
var christmas = LocalDate.of(year, Month.DECEMBER, 25)
// If Christmas already passed this year, calculate for next year
if (today.isAfter(christmas)) {
christmas = LocalDate.of(year + 1, Month.DECEMBER, 25)
}
// Calculate difference in days between today and Christmas
ChronoUnit.DAYS.between(today, christmas)
}
@main def run(): Unit = {
val days = daysUntilChristmas()
println(s"Days until Christmas: $days")
}
/*
run:
Days until Christmas: 210
*/