5
私は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
が期待値に評価されます。いくつかの時間は働きますが、他の時間は働きません。誰かが何が起こっているか私に説明できますか?