Montag, 26. Mai 2008

Datumsspielereien (Teil 2) / Date gadgets (Part 2)

Im zweiten Posting der Datumspielereien geht es um die Berechnung von Weiberfastnacht, Rosenmontag, Fastnacht, Aschermittwoch, Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstsonntag, Pfingstmontag und Fronleichnam. Mit anderen Worten um sämtliche (mir bekannten) Ostern-abhängigen Feiertage.

Der folgende Code greift auf die im Teil 1 beschriebenen Funktionen GetOstersonntag() und SetYear() zurück.

Die zuvor genannten Feiertage liegen sozusagen in 'fester Entfernung' zum Osterfest.
Weiberfastnacht liegt genau 50 Tage vor dem Ostersonntag
Christi Himmelfahrt hingegen 39 Tage hinter dem Ostersonntag
Pfingsten wiederum liegt 49 Tage hinter dem Ostersonntag
Fronleichnam bringt es auf 60 Tage hinter dem Ostersonntag

FUNCTION GetWeiberFastnacht as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) - 50
ENDFUNC

FUNCTION GetRosenmontag as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) - 48
ENDFUNC

FUNCTION GetFastnacht as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) - 47
ENDFUNC

FUNCTION GetAschermittwoch as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) - 46
ENDFUNC

FUNCTION GetKarfreitag as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) - 2
ENDFUNC

FUNCTION GetOstermontag as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) + 1
ENDFUNC

FUNCTION GetChristiHimmelfahrt as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) + 39
ENDFUNC

FUNCTION GetPfingstsonntag as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) + 49
ENDFUNC

FUNCTION GetPfingstmontag as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) + 50
ENDFUNC

FUNCTION GetFronleichnam as Date
LPARAMETERS Jahr as Integer
    Jahr = SetYear(Jahr)
    RETURN GetOstersonntag(Jahr) + 60
ENDFUNC

Keine Kommentare:

Kommentar veröffentlichen