我有两个字符串,例如05.04.200223.01-2002 - 23.06.2002

如何确定第一个字符串中的日期是否在第二个字符串中的日期之间?

我一直在想

dateString := '05.04.2002';
dateRangeString := '23.01-2002 - 23.06.2002';

date := StrToDate( dateString );
rangeStart := StrToDate( LeftStr(dateRangeString, 10) );
rangeEnd := StrToDate( RightStr(dateRangeString, 10) );


现在从那里我不知道该怎么办!

最佳答案

您可以使用单元System.DateUtils及其功能DateInRange

var
  dStart, dEnd, d2Test: TDate;
begin
  dStart := StrToDate('25/07/2012');
  dEnd   := StrToDate('29/07/2012');

  d2Test := StrToDate('26/07/2012');

  if DateInRange(d2Test, dStart, dEnd) then
    ShowMessage('In range!');


您还可以根据需要检查此函数的第四个参数(AInclusive: Boolean = True)...

09-25 17:42