Ich habe das gerade unter Delphi 11 probiert und das passt eigentlich ganz gut. Welche Delphi-Version verwendest du?
Delphi-Quellcode:
var
secs: Int64;
T1: TDateTime;
T2: TDateTime;
begin
T1 := DateTimePicker1.Time;
T2 := TimeOf(Now);
secs := SecondsBetween(T1, T2);
case CompareTime(T1, T2) of
LessThanValue: ;
EqualsValue: ;
GreaterThanValue: secs := -secs;
end;
Memo1.Lines.Add(secs.ToString);
end;