Ich habe eine Art seltsames Verhalten in Bezug auf die EncodeDateTime
und EncodeTime
Methoden beobachtet und ich suche eine Erklärung.Warum ergeben TTime-Vergleiche unerwartete Ergebnisse?
procedure SomeTestCase;
var
time: TTime;
dateTime: TDateTime;
begin
time := EncodeTime(8, 0, 0, 0);
date := EncodeDateTime(2012, 11, 2, 8, 0, 0, 0);
Assert(time = TimeOf(date)); //Fails
end;
Was ich habe, ist, festgestellt, dass date
‚s Stunde Abschnitt 7:59:59
statt 8:00:00
auswertet. Aber wenn ich den Stundenanteil von time
und date
auf 9 setze, läuft die Bestätigung und date
wertet den erwarteten Wert aus. Einige Stunden arbeiten, andere nicht. Kann mir jemand erklären, was vor sich geht?