import java.time.{LocalDate, Period}
object DateRangeExample {
def generateDates(start: LocalDate, end: LocalDate): List[LocalDate] = {
if (start.isAfter(end)) return Nil
Iterator
.iterate(start)(_.plusDays(1))
.takeWhile(!_.isAfter(end))
.toList
}
def main(args: Array[String]): Unit = {
val start = LocalDate.of(2026, 1, 3)
val end = LocalDate.of(2026, 1, 12)
val dates = generateDates(start, end)
println(s"Generated ${dates.size} dates:")
dates.foreach(d => println(d.toString))
}
}
/*
run:
Generated 10 dates:
2026-01-03
2026-01-04
2026-01-05
2026-01-06
2026-01-07
2026-01-08
2026-01-09
2026-01-10
2026-01-11
2026-01-12
*/