Date 如何比较dd/mm/yyyy格式的两个日期?

Date 如何比较dd/mm/yyyy格式的两个日期?,date,delphi,delphi-10.3-rio,Date,Delphi,Delphi 10.3 Rio,我有两个文件,希望比较你的编译日期,以便将来更新 假设新文件的日期为2019年9月20日,旧文件的日期为2019年9月19日。如何以相同的格式(dd/mm/yyyy)比较这两个日期 您可以通过调用来直接处理TDateTime值,而不是操纵字符串 比较日期,而不是字符串。无论出于何种原因,结果实际上是一个TValueRelationship,但有效结果是相同的。链接到官方将揭示这些细节。@Amesshiel,E2003未声明的标识符:OldDate:=DateTime.Create(2019,9,

我有两个文件,希望比较你的编译日期,以便将来更新

假设新文件的日期为2019年9月20日,旧文件的日期为2019年9月19日。如何以相同的格式(dd/mm/yyyy)比较这两个日期


您可以通过调用来直接处理
TDateTime
值,而不是操纵字符串


比较日期,而不是字符串。无论出于何种原因,结果实际上是一个
TValueRelationship
,但有效结果是相同的。链接到官方将揭示这些细节。@Amesshiel,E2003未声明的标识符:
OldDate:=DateTime.Create(2019,9,20)应该是TDateTime.create(…)@PatHeuvel,'TDateTime'不包含名为'Create'的成员。请注意,不推荐使用
FileDateToDateTime(FileAge(…)
,请使用输出
TDateTime
的重载版本:
如果FileAge(FileAge,UpDate)那么…
var
 UpDate, OldDate: string;
begin
  UpDate := '20/09/2019';
  OldDate := DateToStr(FileDateToDateTime(FileAge(IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) + 'test.exe'))) // 19/09/2019

  if UpDate > OldDate then
  begin
    // Do something
  end;
end;
var  OldDate, UpDate : TDateTime;
begin
  OldDate := EncodeDate(2019, 9, 20);
  UpDate := FileDateToDateTime(FileAge(IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) + 'test.exe'));
  if CompareDate(OldDate, UpDate) = LessThanValue  Then
  begin
    // Do something
  end;
end;