Duration
luxon
from milliseconds
const dur = Duration.fromMillis(1_000_000)
dur.toHuman() // '1000000 milliseconds'
dur.rescale().toHuman() // '16 minutes, 40 seconds'
from calendar components
const dur = Duration.fromObject({ hour: 36 })
dur.toHuman() // '36 hours'
dur.rescale().toHuman() // '1 day, 12 hours'
dur.shiftTo("minutes").toHuman() // '2160 minutes'
from difference
const dur = zdt2.diff(zdt1, ["years", "months", "days"])
dur.toHuman() // "3 years, 2 months, 14 days"