Вот еще пример конвертации секунд. Я правда остановился на днях, но мне больше и не надо было
Код:

function SecToTimeStr(Seconds : Integer) : String;
const
SecPerDay = 86400;
SecPerHour = 3600;
SecPerMinute = 60;
var
dd, ss, mm, hh: Cardinal;
str : String;
begin
str := '';
dd := Seconds div SecPerDay;
hh := (Seconds mod SecPerDay) div SecPerHour;
mm := ((Seconds mod SecPerDay) mod SecPerHour) div SecPerMinute;
ss := ((Seconds mod SecPerDay) mod SecPerHour) mod SecPerMinute;
str := Format('%2.2d:%2.2d:%2.2d',[hh,mm,ss]);
if dd>0 then
str := Format('%d дн ',[dd])+str;
result := str;
end;