Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wann fällt ein Datum wieder auf den gleichen Wochentag?

  Alt 14. Aug 2016, 13:39
Nur schnell heruntergetippt, weder optimiert noch getestet:
Delphi-Quellcode:
function NextDateWithSameWeekday(const aDate: TDate): TDate;
var
  y, m ,d: word;
begin
  DecodeDate(aDate, y, m, d);
  if (m = 2) and (d = 29) then
    inc(y, 28)
  else
    begin
      case y mod 4 of
        0:
          if m in [1, 2] then
            inc(y, 5)
          else
            inc(y, 6);
        1:
          inc(y, 6);
        2:
          if m in [1, 2] then
            inc(y, 6)
          else
            inc(y, 11);
        else
          if m in [1, 2] then
            inc(y, 11)
          else
            inc(y, 5);
      end;
    end;
  Result := EncodeDate(y, m, d);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat