IsSameDay(A, B) 比較兩個 TDateTime 的日期部分是否相等(忽略時間);IsToday(A) 判斷給定日期是否為今天(系統當前日期)。
uses DateUtils;
procedure TForm1.FormCreate(Sender: TObject);
var t1, t2, t3, t4: TDateTime; b: Boolean;
begin
t1 := StrToDateTime('2009-1-21');
t2 := StrToDateTime('2009-1-21');
t3 := StrToDateTime('2009-5-21');
t4 := Now;
b := IsSameDay(t1, t2); {True: 同一天}
b := IsSameDay(t1, t3); {False: 不同天}
b := IsToday(t1); {False: 非今天}
b := IsToday(t4); {True: 就是今天}
end;
實現原理: 內部調用 DateOf 提取日期部分(截去時間),再比較整數值。等價於 DateOf(t1) = DateOf(t2)。
應用場景: 日曆標記、日誌按天分組、定時任務「每天僅執行一次」判斷、數據按日期過濾。