[pyar] Weekday de fechas muy viejas

Matíás Lang shareman1204 en gmail.com
Mar Mayo 3 23:58:16 ART 2016


Buenas noches comunidad!

Me encuentro realizando un desafío de Python Challenge (lo recomiendo
para alguien que quiera divertirse un rato rompiéndose la cabeza) y me
surgió la necesidad de ver qué día cae el 26 de enero del año 156 (en
realidad es ver en qué años esa fecha cae lunes pero no es importante).

Esto lo logré corriendo un poco de código en Python (2 o 3):

In [1]: import datetime

In [2]: d=datetime.datetime(156, 1, 26)

In [3]: d.weekday()
Out[3]: 0

Por lo que asumo que cae el lunes. Sin embargo después para corraborar
corrí el comando `cal 156` en linux y me la fecha me da diferente:

        enero       
do lu ma mi ju vi sá
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31   
...

Como se puede ver dice que cae domingo.

También probé en páginas online de calendarios como esta: 
http://www.timeanddate.com/calendar/?year=156&country=9
y según todas cae domingo y no lunes como lo indica el módulo. 

El módulo calendar de python también parece estar dando mal el día:

In [1]: import calendar

In [2]: print(calendar.calendar(156))
                                  156

      January             
Mo Tu We Th Fr Sa Su
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31   
...

El valor de datetime.MINYEAR es 1 en mi máquina por lo que supongo que
debería funcionar igual de bien en el año 2016 que con el 156.

Puede ser que esté mal el módulo datetime o estaré haciendo algo mal y
no me doy cuenta?


Más información sobre la lista de distribución pyar