Die
Unit DateUtils bietet Funktionen wie MinutesBetween, SecondsBetween, ...
Das dürfte sein, wonach du suchst.
Aber zuerst die größte Einheit berechnen, und dann mit Hilfe von IncMinute etc. die nächstkleinere Berechnen.
Beispiel:
Delphi-Quellcode:
// Alle Variablen = Integer
Stunden := HoursBetween(Anfang, Ende);
Minuten := MinutesBetween(IncMinute(Anfang, Stunden * 60), Ende);
Sekunden := SecondsBetween(IncSecond(Anfang, Minuten * 60), Ende);
// oder einfach NUR
Sekunden := SecondsBetween(Anfang, Ende);
Mit SecondSpan bekommst du Kommazahlen, mit SecondsBetween nur volle Sekunden als Ganzzahlen.
[edit]in richtige Funktion geändert[/edit]