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

时间:2019-09-19 22:39:51

标签: date delphi delphi-10.3-rio

我有两个文件,想要比较您的编译日期以供将来更新。

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

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;

1 个答案:

答案 0 :(得分:6)

您可以通过调用DateUtils.CompareDate()来直接处理TDateTime值,而不必操纵字符串。

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;