How to calculate the future occurrences of Friday the 13th in Scala

1 Answer

0 votes
import java.time.LocalDate
import java.time.DayOfWeek

object FridayThe13ths {
  def findFridayThe13ths(startYear: Int, endYear: Int): Unit = {
    for (year <- startYear to endYear) {
      for (month <- 1 to 12) {
        val date = LocalDate.of(year, month, 13)
        if (date.getDayOfWeek == DayOfWeek.FRIDAY) {
          println(f"Friday the 13th: $year-${month}%02d-13")
        }
      }
    }
  }

  def main(args: Array[String]): Unit = {
    findFridayThe13ths(2025, 2031)
  }
}


 
/*
run:

Friday the 13th: 2025-06-13
Friday the 13th: 2026-02-13
Friday the 13th: 2026-03-13
Friday the 13th: 2026-11-13
Friday the 13th: 2027-08-13
Friday the 13th: 2028-10-13
Friday the 13th: 2029-04-13
Friday the 13th: 2029-07-13
Friday the 13th: 2030-09-13
Friday the 13th: 2030-12-13
Friday the 13th: 2031-06-13

*/

 



answered May 31, 2025 by avibootz
...