import java.time.{LocalDate, Period}
case class YMD(years: Int, months: Int, days: Int)
def splitDays(totalDays: Int): YMD = {
val start = LocalDate.of(1970, 1, 1)
val end = start.plusDays(totalDays.toLong)
val p = Period.between(start, end)
YMD(p.getYears, p.getMonths, p.getDays)
}
val r = splitDays(452)
println(s"${r.years} years, ${r.months} months, ${r.days} days")
/*
run:
1 years, 2 months, 28 days
*/