EncodeDateTime
및 EncodeTime
방법과 관련하여 이상한 행동이 관찰되었으며 몇 가지 설명을 구합니다.TTime 비교가 예기치 않은 결과를 나타내는 이유는 무엇입니까?
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;
는 내가 발견 한 것은 date
의 시간 부분이 7:59:59
대신 8:00:00
로 평가한다는 것입니다. 그러나 시간 부분을 time
및 date
을 9로 설정하면 어설 션이 완료되고 date
이 예상 값으로 평가됩니다. 몇 시간 동안 일하는 반면 다른 일은하지 않습니다. 누군가 무슨 일이 일어나는지 나에게 설명해 줄 수 있니?