Also, Du hast die Zeit im Millisekunden (hier t). Wenn Du diese Zahl durch die Anzahl der Millisekunden pro Tag teilst, erhältst Du den passenden TDatetime-Wert. Der Bezugswert ("wann es los geht und wann es endet, ist mir eigentlich völlig egal.") spielt dabei keine Rolle (die Tagesanzahl bleibt einfach Null). Die Funktion "TimeToStr" wandelt Deine Millisekunden in einen String. DecodeTime wandelt in die Einzelkomponenten.
Delphi-Quellcode:
TimeToStr(t/MSecsPerDay);
DecodeTime(t/MSecsPerDay, h, m, s, ms);