function DayOfWeekCount(ADayOfWeek: Integer; const ABegin, AEnd: TDateTime): Integer;
var lBeginDay, lEndDay: Integer;
begin
lBeginDay := DayOfTheWeek(ABegin);
lEndDay := DateUtils.DayOfTheWeek(AEnd);
Result := (DateUtils.DaysBetween(ABegin, AEnd) + 1 + (lBeginDay - 1) + (7 - lEndDay)) div 7;
if lBeginDay > ADayOfWeek then
Result := Result - 1;
if lEndDay < ADayOfWeek then
Result := Result - 1;
end;
function GetWorkDays(ABeginTime, AFinishTime: TDateTime): Integer;
begin
Result := DateUtils.DaysBetween(ABeginTime, AFinishTime) + 1;
{ 除去周六周日 }
Result := Result -
DayOfWeekCount(DateUtils.DaySaturday, ABeginTime, AFinishTime) -
DayOfWeekCount(DateUtils.DaySunday, ABeginTime, AFinishTime);
end;