Как сравнить две даты в формате дд / мм / гггг? - PullRequest
3 голосов
/ 20 сентября 2019

У меня есть два файла, и я хочу сравнить ваши даты компиляции для будущего обновления.

Предположим, что у нового файла есть дата: 20.09.2009, а у старого файла - дата: 19.09.2009.Как сравнить эти две даты в одном формате (дд / мм / гггг)?

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 Ответ

4 голосов
/ 20 сентября 2019

Вместо манипулирования строками вы можете напрямую работать со значениями TDateTime, вызывая DateUtils.CompareDate().

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;
...