[Eine Seite zurück] [Übersicht] [Eine Seite vor]

Benutzung auf eigene Gefahr !
Keine Garantie für garnichts !

Ostersonntag ermitteln

Sprache / Programm: Visual Basic ab Version 5.0 · VBA ab Office 95
Beschreibung

Ermittelt nach der Gaußschen Formel den Ostersonntag. An diesem Tag hängen eine Reihe weiterer Feiertage. Mehr Details, Formeln und Daten, die mit dem Ostersonntag in Beziehung stehen (z.B. Karneval, Pfingsten) beschreibt die JavaScript-Variante dieses Problems.

VBA-Quelltext
Public Function OsterSonntag(Jahr As Long) As Date
    Dim A As Long, K As Long, M As Long, D As Long, S As Long
    Dim R As Long, OG As Long, SZ As Long, OE As Long, OS As Long
    ' http://de.wikipedia.org/wiki/Osterformel
   
    ' 1. die Säkularzahl
    K = Jahr \ 100
    ' 2. die säkulare Mondschaltung
    M = 15 + (3 * K + 3) \ 4 - (8 * K + 13) \ 25
    ' 3. die säkulare Sonnenschaltung
    S = 2 - (3 * K + 3) \ 4
    ' 4. den Mondparameter
    A = Jahr Mod 19
    ' 5. den Keim für den ersten Vollmond im Frühling
    D = (19 * A + M) Mod 30
    ' 6. die kalendarische Korrekturgröße
    R = D \ 29 + (D \ 28 - D \ 29) * (A \ 11)
    ' 7. die Ostergrenze
    OG = 21 + D - R
    ' 8. den ersten Sonntag im März
    SZ = 7 - (Jahr + Jahr \ 4 + S) Mod 7
    ' 9. die Entfernung des Ostersonntags von der Ostergrenze (Osterentfernung In Tagen)
    OE = 7 - (OG - SZ) Mod 7
    '10. das Datum des Ostersonntags als Märzdatum (32. März = 1. April usw.)
    OS = OG + OE
    OsterSonntag = DateSerial(Jahr, 3, OS)

End Function
Argumente der Funktion/Prozedur

Jahr

Beliebiges Jahr (Datentyp Long Integer), für den der Ostersonntag berechnet werden soll.

Rückgabewert

Wert vom Typ Datum, der dem Datum des Ostersonntages entspricht.

Hinweis

http://de.wikipedia.org/wiki/Osterformel

Den Algorithmus habe ich auch in WikiBooks eingetragen:

http://de.wikibooks.org/wiki/Algorithmensammlung:_Kalender:_Feiertage

Anwendungsgebiete, Fehler und Warnungen

Der Gültigkeitsbereich ist der Bereich des Gregorianischen Kalenders (also seit 1583)