Author: Lou Adler How to get the hours and minutes between two DateTime values? Answer: Solve 1: In order to avoid future questions about rounding, I would consider the solution below (untested!): 1 { ... } 2 var 3 InTime, OutTime: TDateTime; 4 InMinutes, OutMinutes, MinutesDiff: Int64; 5 DiffHours, DiffMinutes: Integer; 6 begin 7 { First, make sure that InTime and OutTime are relative to the same offset from 8 GMT. Then:} 9 InMinutes := round(InTime * 24 * 60); 10 OutMinutes := round(OutTime * 24 * 60); 11 MinutesDiff := OutMinutes - InMinutes; 12 Assert(MinutesDiff >= 0); 13 DiffHours := MinutesDiff div 60; 14 DiffMinutes := MinutesDiff mod 60; 15 end; Solve 2: 16 { ... } 17 var 18 InTime, OutTime, TimeDifference: TDateTime; 19 DiffHours, DiffMinutes: Integer; 20 begin 21 TimeDifference := OutTime - InTime; 22 {ShowMessage(DateTimeToStr(TimeDifference);} 23 DiffHours := trunc(TimeDifference * 24); 24 { DiffMinutes := trunc((TimeDifference * 24 * 60) - (Trunc(TimeDifference * 24) * 25 60))} 26 DiffMinutes := trunc((TimeDifference * 24 * 60) - (DiffHours * 60)) 27 end;