首页 > 解决方案 > 如何比较 dd/mm/yyyy 格式的两个日期?

问题描述

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

假设新文件的日期为: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;

标签: datedelphidelphi-10.3-rio

解决方案


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;

推荐阅读