Home » Tipps & Tricks » Object Pascal » Datumswerte » Differenz zwischen zwei TDateTime-Werten ausgeben

Differenz zwischen zwei TDateTime-Werten ausgeben

Errechnet man die Differenz zwischen zwei TDateTime-Werten, so erhält man eine Gleitkommazahl. Will man diesen Wert als Tages-, Stunden-, Minuten- und Sekunden-Anteil ausgeben, muss man etwas rechnen:

function DateTimeDiff(date1, date2: TDateTime): string;
var days, hours, minutes, secs: integer;
  difference: real;
begin
  difference:=date2-date1;
  days:=round(difference-Frac(difference));
  difference:=Frac(difference)*24;
  hours:=round(difference-Frac(difference));
  difference:=Frac(difference)*60;
  minutes:=round(difference-Frac(difference));
  difference:=Frac(difference)*60;
  secs:=round(difference-Frac(difference));
  result:=IntToStr(days)+' Tage, '+IntToStr(hours)+' Stunden, '+IntToStr(minutes)+
  ' Minuten, '+IntToStr(secs)+' Sekunden';
end;