Rubrik: Variablen/Strings · Algorithmen/Mathematik | VB-Versionen: VB6 | 10.02.11 |
Osterdatum nach Gauß berechnen (kompakte Form) Eine kleine schlanke Funktion, die das Datum des Ostersonntag des angegebenen Jahres ermittelt. | ||
Autor: Dieter Otter | Bewertung: | Views: 14.838 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Wie man bestimmte bewegliche kirchliche Feiertage berechnet, haben wir bereits in älteren Tipps gezeigt.
Grundlage für die Berechnung der Feiertage war immer die Berechnung des Ostersonntag.
Heute möchten wir Ihnen für diese Berechnung eine sehr schlanke und kompakte Form vorstellen:
' Berechnet das Datum des Ostersonntags ' des angegeben Jahres Public Function Ostern(Optional ByVal nYear As Long = 0) As Date Dim d As Long Dim Delta As Long ' Wenn kein Jahr angegeben, aktuelles Jahr heranziehen If nYear = 0 Then nYear = Year(Now) ' Delta d = (((255 - 11 * (nYear Mod 19)) - 21) Mod 30) + 21 Delta = d + IIf(d > 48, 1, 0) + 6 - _ ((nYear + Int(nYear / 4) + d + IIf(d > 48, 1, 0) + 1) Mod 7) ' Osterdatum zurückgeben Ostern = DateAdd("d", Delta, DateSerial(nYear, 3, 1)) End Function
Aufrufbeispiel:
MsgBox "Ostersonntag im Jahr 2011: " & Ostern(2011)