in reply to A DateTime penance has befallen me

I suspect $duration->days() returns the *portion* of the duration that is measured in days. I think you want $duration->in_units('days').