Hi Leute.
Bald ist es wieder so weit Ostern, ganz Deutschland geht auf Eier suche.
Aus diesem anlas hab ich mir gedanken gemacht wie hir im Forum vorgestellten Funktionen schlanker zu gestalten.
Ostersonntag Berechnen:
Spoiler anzeigen
#include <Date.au3>
;===================================================================================================================================#
;Function Name....: Ostern($nYear = 0)
;
;Description......: Berechnung von Ostersonntag, sehr schlanke und kompakter Code
;$nYear...........: Jahr angabe
;
;Return Value(s)..: Ostersonntag Format(YYYY/MM/DD)
;
;Author(s)........: Kleiner (http://www.autoit.de)
;====================================================================================================================================#
Func Ostern($nYear = 0)
If Not $nYear Then $nYear = @YEAR
Local $d = Mod(((255 - 11 * (Mod($nYear, 19))) - 21), 30) + 21
Local $Delta = $d + IIF($d > 48, 1, 0) + 6 - _
Mod(($nYear + Int($nYear / 4) + $d + IIf($d > 48, 1, 0) + 1), 7)
Return _DateAdd('d', $Delta, $nYear & '/' & 3 & '/' & 1)
EndFunc ;==>Ostern
Func IIF($V_Expr, $F_True = True, $F_False = False)
If $V_Expr Then Return $F_True
Return $F_False
EndFunc ;==>IIF
Edit:/ Leider stimmt sie nicht für alle Jahre.
Ich habe sie getestet für die Jahre 1900 bis 2100 und zwar mit der "Original" Gauß´schen Osterformel. Sie stimmt nicht für die Jahre 1924 1954 1981 1992 2076 und für die Jahre ab 2100.
Die Gauß´sche Formel ist so komplex, dass man sie kaum als Formel oder Function definieren kann.
Aber dann sind wir immerhin für die nächsten 65 Jahre noch gut.
Lg Kleiner