jueves, 14 de marzo de 2019

Cómo calcular el día de la semana de una fecha - Как рассчитать, какой день недели был

Cómo calcular el día de la semana de una fecha


https://www.gaussianos.com/como-calcular-que-dia-de-la-semana-fue/

Как рассчитать, какой день недели был
https://www.gaussianos.com/como-calcular-que-dia-de-la-semana-fue/
http://gmmentalgym.blogspot.com/2011/03/day-of-week-for-any-date-revised.html#ndatebasics


Algoritmo de Doomsday para memorizar:
http://rudy.ca/doomsday.html


Vamos a ver en este post una forma para saber qué día de la semana fue cualquier fecha. El algoritmo consiste en calcular ciertos coeficientes a partir de la fecha (día, mes y año) y efectuar ciertos cálculos con ellos para quedarnos con un número entre 0 y 6. Después sabiendo qué número es el que corresponde a cada día conseguiremos resolver el problema. Vamos a explicar el método llevando a la vez un ejemplo: mi cumpleaños del año que viene, 1 de Mayo de 2007, que de antemano os digo que es martes:
1.- El siglo: El primer coeficiente que necesitamos, llamémosle A, lo conseguimos con el siglo al que pertenece el año de la fecha siguiendo esta tabla:
1700…17991800…18991900…19992000…20992100…21992200…2299
+5+3+10-2-4
En nuestro ejemplo obtenemos que A = 0
2.- Año: Tomamos los dos últimos dígitos del año en cuestión y a ese número de dos cifras le sumamos un cuarto del mismo (despreciando los decimales). Eso nos proporciona el segundo coeficiente, digamos B.
En nuestro caso: 7/4 = 1′75. Despreciamos los decimales y nos queda 1. Como los dos últimos dígitos son 07 tenemos que B = 8.
3.- Años bisiestos: Éstos son los que cumplen que sus dos últimas cifras forman un múltiplo de 4 (por ejemplo, 1992 o 2004) excepto los terminados en 00. Entre estos últimos sólo son bisiestos los múltiplos de cuatrocientos (por ejemplo 2000). Nuestro tercer coeficiente, C depende de ellos: si el año es bisiesto, y el mes es enero o febrero el coeficiente será C = –1. En cualquier otro caso C = 0.
En nuestro ejemplo, como 2007 no es bisiesto tenemos que C = 0.
4.- Mes: El cuarto coeficiente, D, nos lo da la siguiente tabla:
EneroFeb.MarzoAbrilMayoJunio
622503
JulioAgostoSept.Oct.Nov.Dic.
514624
En nuestro ejemplo, como el mes es mayo, tenemos que D = 0.
5.- Día: El quinto coeficiente, E, es simplemente el día en cuestión. En este caso E = 1.
6.- Algoritmo: Tomamos todos los coeficientes calculados y los sumamos. Y después calculamos el resto módulo 7 del número que obtenemos. Eso lo podemos hacer restando 7 al resultado tantas veces como sea necesario hasta obtener un número entre 0 y 6 que llamaremos R.
En nuestro ejemplo:
A + B + C + D + E = 0 + 8 + 0 + 0 + 1 = 9
9 – 7 = 2
Por tanto R = 2
7.- Resultado: La asignación de números a cada día de la semana es la siguiente:
LunesMartesMiércolesJuevesViernesSábadoDomingo
1234560
Por tanto, como en nuestro ejemplo R = 2 tenemos que:

el 1 de Mayo de 2007 será martes

No hay comentarios:

Publicar un comentario