EncodeDateTime
私はとメソッドに関してある種の奇妙な振る舞いを観察しました、EncodeTime
そして私はいくつかの説明を求めています。
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
。しかし、との時間部分を9に設定するtime
とdate
、アサーションは渡さdate
れ、期待値に評価されます。働く時間もあれば、働かない時間もあります。誰かが私に何が起こっているのか説明できますか?