Ich habe die obige Formel für das 21. Jahrhundert vereinfacht und in eine Library-Funktion umgesetzt.
Die Funktion Eastern ist gültig von 2000 bis 2099 und muss mit einem BYTE-Wert von 0 bis 99 (Jahreszahl) aufgerufen werden.
Mit Einbindung der Library Eastern.lib/lbx kann die Funktion Eastern benutzt werden, welche eine SYSDAY-Wert zurückgibt. Dies ist ein nummerischer Wert vom Typ WORD, welcher die Anzahl der Tage seit dem 1.1.2000 angibt.
Mit diesem Wert kann in BASCOM-AVR mit Tagen gerechnet werden.
Mit der Funktion DATE kann dann dieser SYSDAY-Wert in einen Datums-String oder auch in diskrete Werte für Tag, Monat und Jahr umgewandelt werden.
Code:
Dim wOsterSonntag as Word
Dim bJahr as Byte
bJahr = 6
wOsterSonntag = Eastern (bJahr)
Print Date(wOsterSonntag)
Mit diesem Code-Beispiel wird 16.04.06 ausgegeben.
Aus dem angehängten ZIP-File müssen die Dateien Eastern.lib und Eastern.lbx in den LIB-Pfad kopiert werden. Ein ausführliches Beispiel, wie man diese Funktion Eastern benutzt ist im File Ostern.bas enthalten.
Lesezeichen