С помощью DateTime::diff
$seconds = 123456;
$dateTime = new DateTime();
$diff = $dateTime->diff(
(clone $dateTime)->add(
new DateInterval(
'PT' . $seconds . 'S'
)
)
);
echo $diff->format(
'%d д. %h ч. %i м. %s с.'
);
// 1 д. 10 ч. 17 м. 36 с.