Как перевести секунды в удобную для чтения строку

С помощью 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 с.