Benutzung auf eigene Gefahr ! |
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 |
|
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) |