Die akuelle Lazarus-Version (Stand Anfang 2015) hat leider keine Funktion DayOfTheWeek(), die den Wochentag in der verbreiteten Form mit Montag als ersten Tag der Woche (ISO 8601) ausgibt. Die in Lazarus enthaltene Funktion function DayOfWeek() aus der Unit sysutils rechnet mit Sonntag als ersten Tag der Woche. Es wird dementsprechend 1 für Sonntag, 2 für Montag etc. zurückgegeben.
Mit der nachfolgenden Funktion DayOfTheWeek, die so auch in Delphi vorhanden ist, wird das Ergebnis "korrekt" zurückgegeben (also Montag=1, Dienstag=2 usw. ):
function DayOfTheWeek(const AValue: TDateTime): integer;
begin
result := ((DayOfWeek(AValue) + 5) mod 7) + 1;
end;
Für die Lazarus-Funktion DayOfWeek() muss die Unit sysutils eingebunden werden.
DayOfTheWeek (Lazarus)