sexta-feira, 22 de abril de 2011

Dica do Dia – Retornar a data do feriado de Páscoa

Olá,

Segue a dica de uma função um tanto complexa mas bem útil para nossos sistemas, com ela podemos identificar o dia em que cai o feriado de páscoa de qualquer ano passado.

Function Pascoa(ano: integer):TDate;
var
y,m,d: word;
g,i,j,c,h,l: integer;
e: TDate;
begin
G := ano mod 19;
C := ano 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 := (ano + ano 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 := ano;
E := EncodeDate(y,m,d);
Result := E;
end;

Como utilizar?

var
dPascoa : TDateTime;
Begin

dPascoa := Pascoa(2011); // Passamos o ano 2011

Showmessage(‘ Em 2011 a páscoa é ‘ +
‘ dia ‘ + IntToStr(dPascoa.Day) + // Retornamos somente o dia da data
‘ de ‘ + FormatDateTime(‘mmmm’, dPascoa) ); // Retornamos o nome do mês formatado da data
End;

É isso aí, espero que tenham gostado e desejo Feliz Páscoa a todos. E manerem no chocolate .

Carlos Eduardo Paulino
cadumicro@hotmail.com

[MorfikBR]
Blogs : www.morfikbr.wordpress.com / www.morfikbr.blogspot.com
Grupo : http://br.groups.yahoo.com/group/Morfikbr/

Twitter : www.twitter.com/morfikbr
Youtube : http://www.youtube.com/morfikbr
Contato : morfikbr@gmail.com / morfikbr@yahoo.com.br

Nenhum comentário:

Postar um comentário