Sign in Join
Wiki copytemporary

Revision 2 of 3, by WikiArchive on 11-4-2026. The page as it is now.

Easter date/de

Deutsch (de)

Zurück zur Seite Code Beispiele.

Dieses Beispiel berechnet das Osterdatum (Ostersonntag) der Westkirchen nach der Formel von Carl Friedrich Gauß für den Zeitraum von 1583 - 8702.

pascal
uses
      SysUtils, DateUtils, Dialogs;
    
      ...
    
    function funOstersonntag(wrdJahr: word): TDate;
      // Osterfunktion nach Carl Friedrich Gauß (1800). Rückgabewert
      // ist das Datum des Ostersonntags im angegebenen Jahr
      // Gültigkeitsbereich: 1583 - 8702
    var
      a: integer;
      b: integer;
      c: integer;
      d: integer;
      e: integer;
      f: integer;
      wrdTage: word;
      wrdMonat: word;
    
    begin
    
      // Prüft, ob das Jahr korrekt ist
      if wrdJahr < 1583 then
      begin
        ShowMessage('Das Jahr ist zu klein und liegt vor dem Jahr 1583.');
        Exit;
      end;
    
      if wrdJahr > 8702 then
      begin
        ShowMessage('Das Jahr ist zu groß und liegt nach dem Jahr 8702.');
        Exit;
      end;
    
      // Die Gauss-Formel
      a := wrdJahr mod 19;
      b := wrdJahr div 100;
      c := (8 * b + 13) div 25 - 2;
      d := b - (wrdJahr div 400) - 2;
      e := (19 * (wrdJahr mod 19) + ((15 - c + d) mod 30)) mod 30;
    
      if e = 28 then
        if a > 10 then
          e := 27
        else if e = 29 then
          e := 28;
    
      f := (d + 6 * e + 2 * (wrdJahr mod 4) + 4 * (wrdJahr mod 7) + 6) mod 7;
    
      if (e + f + 22) > 31 then
      begin
        wrdMonat := 4;
        wrdTage := ((e + f + 22) - 31);
      end
      else
      begin
        wrdMonat := 3;
        wrdTage := (e + f + 22);
      end;
    
      // Rückgabewert als Datum bereitstellen
      Result := EncodeDate(wrdJahr, wrdMonat, wrdTage);
    
    end;

From the Free Pascal wiki, page "Easter date/de", as the Internet Archive kept it on 2022-09-28. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.