function CompareDateTime(const A, B: TDateTime): TValueRelationship;
function CompareDate(const A, B: TDateTime): TValueRelationship;
function CompareTime(const A, B: TDateTime): TValueRelationship;
返回值(TValueRelationship):-1 (A<B)、0 (A=B)、1 (A>B)。
uses DateUtils;
procedure TForm1.FormCreate(Sender: TObject);
var
t1, t2: TDateTime;
r1, r2, r3: Integer;
begin
{ 日期相同、時間不同 }
t1 := StrToDateTime('2009-5-20 1:1:1');
t2 := StrToDateTime('2009-5-20 1:0:0');
r1 := CompareDateTime(t1, t2); // 1
r2 := CompareDate(t1, t2); // 0
r3 := CompareTime(t1, t2); // 1
ShowMessageFmt('相同日期: %d, %d, %d', [r1, r2, r3]);
{ 日期不同、時間相同 }
t1 := StrToDateTime('2009-5-20 1:1:1');
t2 := StrToDateTime('2009-5-21 1:1:1');
r1 := CompareDateTime(t1, t2); // -1
r2 := CompareDate(t1, t2); // -1
r3 := CompareTime(t1, t2); // 0
ShowMessageFmt('相同時間: %d, %d, %d', [r1, r2, r3]);
{ 日期時間都不同 }
t1 := StrToDateTime('2009-5-19 1:1:1');
t2 := StrToDateTime('2009-5-20 0:0:0');
r1 := CompareDateTime(t1, t2); // -1
r2 := CompareDate(t1, t2); // -1
r3 := CompareTime(t1, t2); // 1
ShowMessageFmt('全不同: %d, %d, %d', [r1, r2, r3]);
end;
TDateTime 列表:List.Sort(@CompareDateTime)。CompareDate(d1, d2) = 0。CompareTime(t, StartTime) >= 0 且 CompareTime(t, EndTime) <= 0。