[firebase-br] Dias Uteis ...

Otto Fuchshuber ottofuch em terra.com.br
Ter Ago 29 13:37:27 -03 2006


Para calcular o dia da pásca em cada ano existe a seguinte rotina:

Fonte: Revista Scientific American, Marco 2001, pagina 73
Escolha um ano do calendario Gregoriano e chame-o de x. Para determinar
a data da Pascoa execute os seguintes 10 calculos:

  1. Dividir x por 19 para obter um quociente (que vamos ignorar) e um resto
     A. Esta e' a posicao do ano no ciclo lunar de 19 anos (A+1 e' o numero
     ouro do ano)
  2. Dividir x por 100 para obter um quociente B e um resto C
  3. Dividr B por 4 para obter um quociente D e um resto E
  4. Dividr 8B + 13 por 25 para obter um quociente G e um resto que vamos
ignorar
  5. Dividir 19A + B - D - G + 15 por 30 para obter um quociente (que vamos
     ignorar) e um resto H (o Epacs do ano e' 23-H quando H for menor do que
     24 e 53-H de outro modo)
  6. Dividir A + 11H por 319 para obter um quociente M e um resto (que vamos
     ignorar)
  7. Dividir C por 4 para obter um quociente J e um resto K
  8. Dividir 2E + 2J - K - H + M + 32 por 7 para obter um quociente (que
vamos
     ignorar) e um resto L
  9. Dividir H - M + L + 90 por 25 para obter um quociente N e um resto (que
     vamos ignorar)
 10. Dividir H - M + L + N + 19 por 32 para obter um quociente (que vamos
     ignorar e um resto P

 O domingo de Pascoa e' o P-esimo dia do N-esimo mes (N pode ser ou 3 para
 marco, ou 4 para abril). A letra dominical pode ser achada em dividindo-se
 2E + 2J - K por 7 e tomando-se o resto (um resto igual a 0 e' a letra A,
 1 e' equivalente a B, e assim por diante).

Experimentando este metodo para o ano x = 2001 obtemos (1)A=6; (2)B=20,C=1
(3)D=5,E=0;(4)G=6;(5)H=18;(6)M=7;(7)J=0,K=1;(8)L=6;(9)N=4;(10)P=15

Em 2001 a páscoa caiu em 15/04/2001.
Em 2007 será no dia 08/04/2001
Em 2010 será no dia 04/04/2010
No ano 34 DC caiu em 26/03/2006
Antes disto não havia páscoa.

Segundo a Wikipedia,
http://pt.wikipedia.org/wiki/P%C3%A1scoa
"A Páscoa é celebrada no primeiro Domingo após a primeira Lua Cheia que
ocorre depois do equinócio da Primavera"
Lá existem outros algoritmos de cálculo, talvez menos exatos do que o
apresentado na Cientific American

Lá vem a turma da cultura ... {:-)
Se quiser, lhe mando em PVT um pequeno programa em Visual Basic 6 que efetua
todos os cálculos.

Otto

----- Original Message ----- 
From: "Renan de Oliveira" <renan em safetech.inf.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, August 29, 2006 10:51 AM
Subject: Re: [firebase-br] Dias Uteis ...


Sugiro que voce tenha uma tabela com os cadastros de feriados, do contrário
sera complicado, pois apesar de normalmente os feriados terem dias fixos, a
empresa pode optar por feriadões, férias, etc. depois tu monta um sql que te
tras os dias que nao forem sabado e domingo, e faz um join com essa tabela
pra verificar se mesmo nao sendo sabado nem domingo é feriado ou nao


Renan de Oliveira
Safetech Informática
(51) 3529-3870
----- Original Message ----- 
From: "Firebird" <rubens.rodrigues em abrevo.com.br>
To: <lista em firebase.com.br>
Sent: Tuesday, August 29, 2006 10:33 AM
Subject: [firebase-br] Dias Uteis ...


Prezados Colegas,

É possivel via SQL eu conseguir a qtde de dias úteis num determinado mês?

Obrigado

Rubens


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 28/08/2006 / Versão:
4.4.00/4839
Proteja o seu e-mail Terra: http://mail.terra.com.br/








Mais detalhes sobre a lista de discussão lista