Navigation Menu Search PhysiologyWeb
PhysiologyWeb Logo Search PhysiologyWeb
   
— share —
Share on Facebook    Share on X    Share on LinkedIn    Share on Pinterest    Share on Reddit    Email    Copy URL
function AdministrativeProfessionalsDay(TargetYear: Integer): TDate;
var
FridayCount: Integer;
TargetDate: TDate;
begin
AdministrativeProfessionalsDay := 0;

FridayCount := 0;

TargetDate := 0;

TargetDate := StrToDate('4/30/'+IntToStr(TargetYear));
FridayCount := 0;
If DayOfTheWeek(TargetDate) = 5 then FridayCount := 1; //5 = Friday
If FridayCount = 0 then
begin
repeat
TargetDate := TargetDate - 1;
If DayOfTheWeek(TargetDate) = 5 then FridayCount := FridayCount + 1;
until FridayCount = 1;
end;

AdministrativeProfessionalsDay := TargetDate - 2;
end;

The procedure below uses the function shown above to retrieve Labor Day for a range of years. The FormatDateTime function can be used to format the date in any way desired.

procedure TForm1.Button1Click(Sender: TObject);
var
Year: Integer;
begin
For Year := 2000 to 2100 do
begin
Memo1.Lines.Add(FormatDateTime('dddd, mmmm d, yyyy', AdministrativeProfessionalsDay(Year)));
end;
end;




Posted: Monday, December 2, 2024
Last updated: Tuesday, March 18, 2025
— share —
Share on Facebook    Share on X    Share on LinkedIn    Share on Pinterest    Share on Reddit    Email    Copy URL