lunes, 26 de octubre de 2009

Cómo calcular los días para cualquier fecha


Es una pequeña curiosidad, pero seguramente a más de una persona le interese. Es una simple cuenta y con la práctica se puede hacer realmente rápido. El cálculo que hay que hacer se expresa así:

Mod(D/7)-M+Mod(A/7)+E(A/4)+S

Donde D es día; M es la clave del mes (que ya veremos cuáles son); A son las dos últimas cifras del año; E(A/4) es la parte entera de las dos últimas cifras del año dividido 4; y S es la clave del siglo. Y al resultado hay que dividirlo por 7 y tomar el resto.

( /!\ Al escribir "Mod" se expresa que lo que se debe tomar es el resto de la división. Por ejemplo: Mod(8/7)=1)

El resultado de esto puede ser desde 0 a 6. A cada número se le asigna un día. Domingo es0, Lunes es 1, Martes es 2, Miércoles 3, Jueves 4, Viernes 5 y Sábado 6.


La clave de los meses son:



  • Enero: 0

  • Febrero: 4

  • Marzo: 4

  • Abril: 1

  • Mayo: 6

  • Junio: 3

  • Julio: 1

  • Agosto: 5

  • Septiembre: 2

  • Octubre: 0

  • Noviembre: 4

  • Diciembre: 2

La clave de siglo son:



  • Hasta 99: 4

  • 800-899: 3

  • 1600-1699: 6

  • 100-199: 3

  • 900-999: 2

  • 1700-1799: 4

  • 200-299: 2

  • 1000-1099: 1

  • 1800-1899: 2

  • 300-399: 1

  • 1100-1199: 0

  • 1900-1999: 0

  • 400-499: 0

  • 1200-1299: 6

  • 2000-2099: 6

  • 500-599: 6

  • 1300-1399: 5

  • 2100-2199: 4

  • 600-699: 5

  • 1400-1499: 4

  • 2200-2299: 2

  • 700-799: 4

  • 1500-4 octubre 1582: 3

  • 2300-2399: 0

  • 15 octubre 1582-1599: 0

  • 2400-2499: 6

Para el correcto uso de esa tabla, hay que recordar que los días 5 al 14 de octubre de 1582 no existieron (los suprimió la reforma gregoriana).


Seguramente los que más se van a usar son la clave del siglo XX y XXI o sea 1900-1999 : 0 y 2000-2099: 6


Un ejemplo:



Hoy es 26/10/2009

Mod(26/7) = 5

Clave del mes= 0

Mod(09/7)= 2

E(09/4)=2

Clave del siglo= 6

Mod[(5-0+2+2+6)/7]= 1

1= Lunes :)

1 comentario:

  1. Esta muy buena la formula. Yo le agregaria algo:

    Para los años bisiestos, y si caen enero y febrero hay que restarle al resultado 1.

    21 de Enero de 1980 no es martes, es Lunes.

    Saludos

    ResponderEliminar