Usuario anónimo ¿Quieres tener tu propio blog?
Crear blog gratis en OboLog

Detectar Semana Santa con Javascript

por RobFeb
martes, 24 de febrero del 2009 a las 07:58

Es posible que en estas fiestas cercanas tengamos la necesidad de saber en qué días cae la semana santa.

Podemos determinar que el domingo de resurrección será el primer domingo de luna llena de primavera.
Y sabemos que la primavera empieza el 21 de marzo.

A partir de ahí tenemos claro que el jueves y viernes es festivo y el lunes de pascua en algunas comunidades.

A través de los 'Hijos de la Divina Voluntad'  nos encontramos con una página con el código Javascript que calcula ese domingo en función del año de una forma curiosa y lógica!.

Dicha función está extraida de  la fórmula de Gauss que podemos observar en la página de la wikipedia con todas sus explicaciones:

Wikipedia: Cálculo de la fecha de Pascua


Aquí está la función para Javascript.

function CalculePascua (Agno, Calendario) {
if (Calendario == "GREGORIANO") {
a=Agno%19
b=Math.floor(Agno/100)
c=Agno%100
d=Math.floor(b/4)
e=b%4
f=Math.floor((b+8)/25)
g=Math.floor((b-f+1)/3)
h=(19*a+b-d-g+15)%30
i=Math.floor(c/4)
k=c%4
l=(32+2*e+2*i-h-k)%7
m=Math.floor((a+11*h+22*l)/451)
p=(h+l-7*m+114)
// Devuelve un registro Registro.Dia_Res / Registro.Mes_Res
return {Dia : (p%31)+1, Mes : Math.floor(p/31)}
} else if (calendario == "JULIANO") {
// Para años anteriores a 1583 (Calendário Juliano):
a = Agno % 4
b = Agno % 7
b = Agno % 19
d = (19*c + 15) % 30
e = (2*a + 4*b - d + 34) % 7
f = Math.floor((d + e + 114) / 31)
g = (d + e + 114) % 31
// Devuelve un registro Registro.Dia_Res / Registro.Mes_Res
return {Dia : g+1, Mes : f}
} else return {Dia : 0, Mes : 0}
} // CalculePascua

Diferenciamos entre Gregoriano y Juliano, tomando como ejemplo el gregoriano.

Ejemplo:

Agno=>2009
a=Agno%19 ( ) => 14
b=Math.floor(Agno/100) => 20
c=Agno%100 => 9
d=Math.floor(b/4)  => 5
e=b%4 => 0
f=Math.floor((b+8)/25)  => 1
g=Math.floor((b-f+1)/3) => 6
h=(19*a+b-d-g+15)%30 => 20
i=Math.floor(c/4) => 2
k=c%4  => 1
l=(32+2*e+2*i-h-k)%7  => 1
m=Math.floor((a+11*h+22*l)/451) => 0
p=(h+l-7*m+114) => 135

Dia : (p%31)+1 =>12

Mes : Math.floor(p/31) =>4

12 de marzo es el domingo de resurrección.

En el enlade de la wikipedia podemos obtener ejemplos para:

  •   Java
  •   Python
  •   Perl
  •   PHP
  •   Turbo Pascal
  •   pl/pgsql de postgresql
  •   PowerBuilder

Relacionados con Detectar Semana Santa con Javascript

Deja tu comentario sobre Detectar Semana Santa con Javascript

Deja tu comentario
Necesitas tener javascript activado para poder dejar comentarios

Identifícate en OboLog, o crea tu blog gratis si aún no estás registrado.

De esta forma, además, podrás mostrar tu imagen en los comentarios y no tendrás que rellenar tus datos cada vez.

Sobre esta anotación

RobFeb

RobFeb escribió esta anotación hace 1 año. En ella habla sobre Consejos, Javascript y Utilidades.

Aún no hay ningún comentario.

Tu podrías dejar el primero.

Login

Comentarios

Juego Test del Amor: Compatibilidad (chantal)
chaooooooooooooooooooooooooooooooooooooooooooooooooooooo...(29 ago)
Cambiar de base con Javascript (Air Max Shoes)
lsfNike Air YeezyDunk SB Air Force One Nike Jordan FusionsAir Max ShoesAir Rift VERSACE Men ......(01 jul)
Cambiar de base con Javascript (Air Max Shoes)
LSF[url=http://www.cheap-dunks.com/nike-sneaker-nike-air-yeezy-wholesale-3_39]Nike Air ......(01 jul)
Juego Test del Amor: Compatibilidad (veronica)
quiero saber cuanto me ama mi novio=?'...(30 jun)
Juego Test del Amor: Compatibilidad (Adriana )
bueno les cuento toda mi historia bueno no toda comenzo asi...................jajajajajajajajajaun ......(30 jun)

Más comentados

Juego Test del Amor: Compatibilidad (51)
Os traigo una nueva entrega de los juegos simples usando javascript. Seguramente verás muchas ...
CheckColor Juego: Color Letra (3)
Ya que hace poco comentamos la opción de cambiar los colores de las celdas de una tabla, hoy os ...
Juego RiPitPlis: Repite la secuencia (3)
Os presento el proyecto RiPitPlis 1.0 que está basado en el clásico Juego electrónico 'Simon' de ...
Validar un DNI/NIF con Javascript (2)
Función para validar un DNI o NIF con Javascript, para detectar que es un identificador válido.   ...
Componentes Gzip (2)
El tiempo que se tarda en tranferir diferentes componentes a través de la red, se puede reducir de ...

Suscripción

Suscríbete al Feed RSS XML

También puedes suscribirte directamente con alguno de los siguientes enlaces:

  • Suscríbete en Bloglines
  • Suscríbete en Google