viernes, 27 de julio de 2007

Saber el día de la semana de una fecha

Me preguntaba qué día de la semana fue el descubrimiento de América... la respuesta es: Miércoles [Actualización Marzo-2011: Es viernes]. Bueno, para quienes tengan este tipo de dudas existenciales, hay una forma de saber el día de la semana de cualquier fecha determinada [Actualización Marzo-2011: Siempre y cuando sea una fecha posterior al 15 de Octubre de 1582].


Antecedentes: Me encontraba escuchando "Imagen" (en Monterrey 107.7 del FM) y estaban entrevistando en "Qué tal Fernanda" a Alberto Coto, (en el link se puede saber más de él) y hacía demostraciones de lo anterior, pero lo hacía rapidísimo, apenas oía la fecha y decía el día de la semana. En esa ocasión dejó entrever el procedimiento, pero faltaba algún paso -de cualquier manera lo van a repetir mañana, hay que oírlo- por lo que aquí describo el procedimiento completo:

Voy a utilizar la fecha de la Independencia de México, ya que andamos cerca de celebrar el bicentenario de tal suceso: 16 de Septiembre de 1810

Necesitamos sumar 5 números de cada fecha, así que lo explico de esa manera, describiendo el procedimiento para cada uno:


  1. De los más fáciles: el día. En nuestro caso es: 16.
  2. El otro fácil: el segundo par de dígitos del año. En nuestro caso 10
  3. Tercero: el dígito que le corresponde al mes según la siguiente relación:
    Ene 0, Feb 3, Mar 3, Abr 6, May 1, Jun 4, Jul 6, Ago 2, Sep 5, Oct 0, Nov 3, Dic 5. En el caso que el año sea bisiesto cambia Enero y Febrero a 6 y 2, respectivamente.
    Lo que yo hice fue aprenderme la serie en grupos de 3: 033 614 625 035, más fácil considero yo.
    Entonces en nuestro caso le toca al mes el número 5.
  4. Cuarto: tomamos el primer par de dígitos del año y lo dividimos entre 4. El residuo de la división es lo que nos interesa: a 3 le restamos ese residuo y el resultado lo multiplicamos por 2, este será el cuarto número que hay que sumar.
    En nuestro caso 18 (el primer par del año) entre 4 = 4 y sobran 2. A 3 le restamos nuestro residuo (3-2) y el resultado por 2 (1x2=2), ese es nuestro cuarto número: 2.
    Claro que en este caso, como en todos cuando el año sea mil ochocientos... este cuarto número siempre será dos.
  5. Por último: Tomamos el segundo par de dígitos del año y también lo dividimos entre cuatro, pero aquí tomamos el resultado directo sin decimales (el puro entero).
    En nuestro caso es 10 entre 4 = 2.5 y quitando las decimales nos queda el 2.
Casi listo, sumamos los cinco resultados: 16 + 10 + 5 + 2 + 2 = 35 y al total los dividimos entre 7 y de nueva cuenta lo que nos interesa es el residuo de la división ya que nos indicará (finalmente) el día de la semana de nuestra fecha, en este caso es 0 (35/7=5 y sobra 0) y según la siguiente relación fue Domingo.

Según el residuo de la última operación es el día de la semana que le correspone:
0 Domingo
1 Lunes
2 Martes
3 Miércoles
4 Jueves
5 Viernes
6 Sábado

Es todo lo que se necesita saber. Puede ser que resulte un tanto complicado explicar el procedimiento y sobretodo escribirlo, pero con un poco de práctica (y un lápiz y papel al principio ¡ah! y sin calculadora ya que se trata de que la mente haga ejercicio, aunque sea ligero) cualquiera puede aprender el procedimiento y no tardarse tanto en hacerlo, aunque no sea en instantes como el tal Alberto Coto.

Es muy divertido decirle a las personas que piensen una fecha en la que sepan el día de la semana en que cayó y decírselo =)

Para verificar el procedimiento hay páginas en internet porque el Excell no llega a fechas muy antiguas

¡Ahora lo que me intriga es cómo descubrieron ese procedimiento!


Actualización 3 de Marzo de 2011: Gracias a un comentario anónimo que se lee abajo, me di cuenta que había un error en el día de la semana del descubrimiento de América.  Por supuesto, siempre estoy ansioso de encontrar errores en lo que creo cierto y así adquirir un poco más de conocimiento.   Sin embargo, esto no significa que el procedimiento arriba descrito sea incorrecto, sino que, diría yo, está limitado a calcular los días de la semana pero hasta el 15 de Octubre de 1582.  


¿Por qué hasta esa fecha?  Es muy interesante la respuesta, se puede leer al respecto en varios artículos de la wikipedia, pero básicamente la respuesta es esta:


"Al jueves -juliano- 4 de octubre de 1582 le sucede el viernes -gregoriano- 15 de octubre de 1582. Diez días desaparecen debido a que ya se habían contado de más en el calendario juliano."
Antes del 15 de octubre de 1582 usábamos un calendario (juliano) que había acumulado un error de aproximadamente 10 días, esto a través de 1257 años de uso, por lo que en esa fecha se hace el ajuste y se pasa de un día ser jueves 4 de octubre de 1582 al siguiente, viernes 15 de octubre de 1582.   Por lo tanto, como se lee en la misma wikipedia:


"El calculo de fechas considerando fechas anteriores al 15 de octubre de 1582 siempre serán errorneas si usamos metodos actuales, ya que deben ser utilizadas exclusivamente hasta esta fecha y cambiar a calculo de fechas julianas a partir del 4 de octubre de 1582, sin olvidar estos 10 días que no existen." (sic)
Por lo que ahí está, al momento de calcular el día de la semana debe considerarse lo anterior.  En cuando tenga tiempo y ánimo me informaré respecto al cálculo de fechas julianas.


Por cierto, si a alguien le interesa aquí está una hoja de Excel que hace el cálculo tan solo con introducir la fecha.


¡Gracias anónimo por el dato!

15 comentarios:

Anónimo dijo...

sos un capo
me mate tratando d entenderlo en wikipedia y oro lugares
pero aca lo saque de una, gracias

Racheado dijo...

Un verdadero placer... =)

Claudio dijo...

por casualidad conoces el nombre del algoritmo?

Racheado dijo...

@Claudio: No conozco el nombre. Muchos saludos.

Jesus dijo...

Estuve haciéndo las cuentas por mi parte porque me surgió la misma duda de que día fue 16 de sept de 1810, y escribí en un papel los días y descubrí que había un patrón en el que cada 28 años se repetía la misma secuencia, así que lo único que hice fue restar 28años apartir del 16 de septiembre de 1960 que fue viernes, hasta la fecha más próxima que fue 1820, pero mis cálculos me dieron el día sábado. Entonces me gustaría saber en qué me equivoqué? porque la secuencia de 28 años cambia? Me gustaría que resolvieran mi duda. Por favor.

Racheado dijo...

A Jesús:
Hola qué tal! Oye pues no había escuchado antes lo del patrón que comentas que descubriste...


Estuve haciendo algunas pruebas en el link que pongo en mi entrada y al parecer el patrón que mencionas es válido si no cambiamos de siglo, hehe, curioso, ya una vez que brincamos a los 1800's hay una diferencia de un día...


Acabo de ver en la wikipedia la definición del año bisiesto y aclara algo muy interesante, lo cito:

"Un año es bisiesto si es divisible por 4, excepto el último de cada siglo (aquel divisible por 100), salvo que este último sea divisible por 400."

Me parece que esto explica la diferencia que tienes de un día: de alguna forma el patrón considera los años bisiestos (que deben ser cada 4 años) pero no considera el hecho de que en los años divisibles entre 100 (pero no entre 400) no debería ser bisiesto, ¿no sé si me explico? Con otras palabras, si el cálculo lo hubieras hecho a partir de una fecha conocida del 2009, por ejemplo, y quisieras llegar a una fecha de los 1900's sí te funcionaría el patrón, dado que el año 2000 sí fue bisiesto, PERO si lo llevaras hasta los 1800's te daría una diferencia de un día (porque al pasar por el año 1900 se crea un error, ya que no fue bisiesto) tendrías que quitarle un día para compensar el año 1900 que no fue bisiesto....

La verdad no sé si me expliqué hahahah, pero bueno, ahí está... Saludos

Jesus dijo...

Hola!!! Muchísimas gracias!!! En realidad si te explicaste porque pues después leí también que 1900 no era bisiesto así que me pregunté porque no? y encontré la misma respuesta que tu me diste y pues eso explica mi error de un día. Pero realmente aprecio mucho que te hayas dado a la tarea de ayudarme a responder mi cuestión. Que estés bien y gracias de nuevo.

Racheado dijo...

De nada Jesús, me da gusto que se haya aclarado tu duda. Saludos

Ing. Antonio Ramos Rubio dijo...
Este comentario ha sido eliminado por el autor.
Ing. Antonio Ramos Rubio dijo...
Este comentario ha sido eliminado por el autor.
Ing. Antonio Ramos Rubio dijo...

Me parece muy interesante la información que proporcionas que bueno que tienes la oportunidad de compartir tus conocimientos. Saludos

Anónimo dijo...

El 12 de octubre de 1492 fue un viernes, no un miércoles. Habrás cometido un error o el algoritmo no es correcto. Fijate en Wikipedia, Descubrimiento de América... Ademá, utilizando un nprograma Java también me da como resultado un viernes... Saludos!

Racheado dijo...

Gracias Ingeniero Antonio Ramos!

Gracias Anónimo, he actualizado la entrada con la nueva información que me ayudaste a conocer.

Anónimo dijo...

Fenomenal y gracias
Baltasar

Anónimo dijo...

en esto están considerados los años bisiestos?

Google