miércoles, 27 de abril de 2011

CALCULO DEL DIA DE LA SEMANA

Para calcular el dia de la semana que corresponde a una fecha
cualquiera, se procede de la forma siguiente:


: se calcula el Dia Juliano (DJ) que corresponde a esa fecha:
Veamos un ejemplo: calcular el DJ corresponde al 25 de Enero de 1945 a las 0 horas


llamamos D al dia, asi D=25,   M al Mes, asi M=1, Y al año, asi Y=1945


Si el nacimiento fuese a otra hora pondriamos D con los decimales de dia que le correspondan. 
Por ejemplo si fuese a los 3 horas, 3 / 24 = 0,125, asi que pondriamos D = 25,125


Primer paso: vemos si M es mayor o menor de 2:
 si M es menor de 3, es decir si M es 1 o 2 (como es en nuestro ejemplo) quitamos 1 a Y y sumamos 12 a M: en nuestro ejemplo tendremos Y=1945 - 1 = 1944, M=1+12=13


 Segundo paso: calculamos A y B
A es igual a Y dividido por 100 y quitamos los decimales. En nuestro ejemplo 1944 / 100 = 19,44 asi que A=19


B es igual a 2 - A + int(A/4)
En nuestro ejemplo sera: B = 2 - 19 +int(19 / 4) = 2 - 19 + 4 = -13

int quiere decir que de la operacion que se indica entre parentesis se desprecian los decimales.
Si la fecha fuera antigua (anterior a la reforma gregoriana) y esta dada segun el Calendario Juliano, B = 0
Tercer paso: Con estos datos calculamos el DJ


DJ = int(365,25 x (Y+4716)) + int(30,6001 x (M+1) + D + B - 1524,5


En nuestro caso tendremos: 
DJ = int(365,25 x (1944 + 4716)) + int(30,6001 x (13 + 1) + 25 -13 - 1524,5 =
int(365,25 x 6660) + int(30,6001 x 14) +12 = 
2.432.565 + 428 + 12 - 1524,5 = 2.433.005 -1524,5 = 2431480.5


Ahora, con el DJ calculamos el dia de la semana
sumamos al DJ la cantidad de 1,5, y el resultado se divide por 7. El resto de la division es el dia de la semana:



1       Lunes
2      Martes
3 Miercoles
4     Jueves
5    Viernes
6    Sabado
0  Domingo


Sumamos a DJ + 1,5 = 2431480.5 + 1.5 = 2431482
Dividimos el resultado por 7 : 2431482 / 7 = 347354.571428571
Multiplicamos por 7 la parte entera del resultado anterior: 7 x 347354 = 2431478
Restamos los dos resultados anteriores: 2431482 - 2431478 = 4 
Como sale 4 el dia es Jueves 













No hay comentarios:

Publicar un comentario