Oct
08
2007

Averiguar fechas de Semana Santa - ASP

Bueno una función de estas útiles , extraído de la wikipedia y reprogramado por mí xD

se usa  isSemanaSanta(”23/04/2008″)

function isSemanaSanta(Fecha)‘le pasas una fecha y te dice si cae en semana santa
dim FechaDomingoSanto,FechaInicio,FechaFin

Fecha=cdate(Fecha)
FechaDomingoSanto=cdate(obtenerDomingoSanto(year(fecha)))
‘para barcelona
FechaInicio=dateadd(”d”,-2,FechaDomingoSanto)’acaba en el lunes de pascua
FechaFin=dateadd(”d”,1,FechaDomingoSanto)’comienza en viernes santo
‘resto españa
‘FechaInicio=dateadd(”d”,-3,FechaDomingoSanto)’comienza en jueves santo
‘FechaFin=FechaDomingoSanto’acaba el mismo domingo
‘rw FechaInicio & FechaFin
if Fecha>=FechaInicio and Fecha<=FechaFin then
isSemanaSanta=true’es semana santa
else
isSemanaSanta=false’sino esta en rango no es semana santa
end if

end function
function obtenerDomingoSanto(anno)‘rw obtenerDomingoSanto(1928)
‘formula obtenida de http://es.wikipedia.org/wiki/C%C3%A1lculo_de_la_fecha_de_Pascua
dim M,N,a,b,c,d,e,mes,dia
‘Constantes mágicas según artículo
anno=cint(anno)
if anno>=1583 and anno<=1699 then
M=22
N=2
elseif anno>=1700 and anno<=1799 then
M=23
N=3
elseif anno>=1800 and anno<=1899 then
M=23
N=4
elseif anno>=1900 and anno<=2099 then
M=24
N=5
elseif anno>=2100 and anno<=2199 then
M=24
N=6
elseif anno>=2200 and anno<=2299 then
M=25
N=0
end if

‘Cálculo de residuos
a = anno mod 19
b = anno mod 4
c = anno mod 7
d = (19*a + M) mod 30
e = (2*b+4*c+6*d + N) mod 7

‘Decidir entre los 2 casos:
if d+e < 10 then
dia = d+e+22
mes = 03
else
dia = d+e-9
mes = 04
end if

‘Excepciones especiales (según artículo)
if dia = 26 and mes = 04 then dia = 19
if dia = 25 and mes = 04 and d=28 and e = 6 and a >10 then dia = 18

obtenerDomingoSanto=dateserial(anno,mes,dia)

end function

Compartir:
  • Meneame
  • Digg
  • del.icio.us
  • BarraPunto
  • Facebook
  • Google

También te puede interesar:

  1. Obtener último día del mes - ASP
  2. De número a Letras, Number to words, ASP
  3. En horario de oficina, función ASP
  4. Funciones para recoger datos ASP
  5. Quitar etiquetas Html de un texto ASP

2 Comments »

  • mamarrachi

    Un jaleo, la verdad, pero creo firmemente que mirar el calendario resolvera las dudas que me han quedado…
    Saludos desde http://mamarrachi.wordpress.com

    Comment | 9 October, 2007
  • jaja calendario es mas facil!

    Comment | 9 October, 2007

RSS feed for comments on this post. TrackBack URL

Leave a comment

Aeros Theme |Deambulando.com 2006-2008 powered by PorWebs | Top