Dem schließe ich mich an.
Zitat:
ich hab gerade so was gemacht und vom Aussehen her gefällt mir es nicht:
Lass es doch so wie von Sir Rufo korrigiert.
Meine erste Version war übrigens:
Delphi-Quellcode:
Result := EncodeDate(Year,4,1);
Repeat
Result := Result - 1;
Until DayOfWeek(Result)=1;
Ich persönlich finde die Schleife leichter verständlich: Nimm den 1.April und zähle dann Rückwärts bis zum letzten Sonntag im März.
Nach kurzem Studium der DateUtils würde ich doch folgende Version nehmen:
Delphi-Quellcode:
Function LastSundayInMarch(Year : Word) : TDateTime;
Begin
Result := EncodeDate(Year,4,1);
Result := Result - DateUtils.DayOfTheWeek(Result);
End;
Gut zu wissen, das 'DayOfTheWeek' und 'DayOfWeek' unterschiedliche Ergebnisse liefern