How to calculate the number of days until Christmas from today in Scala

1 Answer

0 votes
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

*/

 



answered May 29 by avibootz
...