Husk også fastelavn, selvom det ikke er en helligdag,
så er det en kirkedato, som så vidt jeg husker er
RelDays -40, NonWork: False
--
Thomas Due
Software Developer
Scanvaegt Nordic A/S
t.due@scanvaegt.dk
"Carsten Madsen" <carstensm@hotmail.com> wrote in message
news:3ce153d2$0$3794$ba624c82@nntp01.dk.telia.net...
> Hov, kom til at sende til e-mail. Dette er vist bedre
>
> > Jeg går ud fra at vi snakker danske helligdage ?? I så fald er alle
> > helligdage enten på en fast dato (f.eks. juledag = 25. dec) eller
> > også er de relative til påskesøndag. Sidstnævnte udregnes via
> > en kryptisk formel, men søg via google på "getEaster" så får
> > du en masse links. Herefter er det blot at kende de relative
> > værdier:
> >
> > Palmesøndag; RelDays: -7; NonWork: True
> > Skærtorsdag; RelDays: -3; NonWork: True
> > Langfredag; RelDays: -2; NonWork: True
> > 2. Påskedag; RelDays: 1; NonWork: True
> > St. Bededag; RelDays: 26; NonWork: True
> > Kr. Himmelfart; RelDays: 39; NonWork: True
> > Pinsedag; RelDays: 49; NonWork: True
> > 2. Pinsedag; RelDays: 50; NonWork: True
>
> Tak, jeg fandt et eksempel i Delphi,
http://delphi.about.com/bltip0302.htm:
> ******
> function GetEaster(Year: Integer): TDate;
> var
> y, m, d: Word;
> G, I, J, C, H, L: Integer;
> E: TDate;
> begin
> G := Year mod 19;
> C := year div 100;
> H := (C - C div 4 - (8*C+13) div 25 + 19*G + 15) mod 30;
> I := H - (H div 28)*(1 - (H div 28)*(29 div (H + 1))*((21 - G) div 11));
> J := (Year + Year div 4 + I + 2 - C + C div 4) mod 7;
> L := I - J;
> m := 3 + (L + 40) div 44;
> d := L + 28 - 31*(m div 4);
> y := Year;
> // E is the date of the full moon
> E := EncodeDate(y, m, d);
> // find next sunday
> while DayOfWeek(E) > 1 do
> E := E + 1;
> Result := E;
> end;
>
> {
> Usage
> var EasterDate: TDateTime;
> ...
> EasterDate := GetEaster(2002);
> }
> *****
>
>
>