function IsWorkingDay (const DT: TDateTime): Boolean;
var
DOW: Byte;
Easter: TDateTime;
begin
Result := True;
DOW := DayOfWeek (DT);
if DOW in NonWorkingDays then
Result := False
else
begin
if ESBUseChristianHolidays then
begin
Easter := GetEasterSunday (DT);
if SameDate (Easter, DT) or SameDate (Easter - 2, DT) then
Result := False
else if ESBUseEasterSaturday and SameDate (Easter - 1, DT) then
Result := False
else if ESBUseEasterMonday and SameDate (Easter + 1, DT) then
Result := False
else if SameDate (GetChristmasDay (DT), DT) then
Result := False
end;
end;
End; |