[pyar] Weekday de fechas muy viejas

Juan A. Diaz nueces en cafelug.org.ar
Jue Mayo 5 12:16:22 ART 2016


On jue, 2016-05-05 at 01:31 -0300, Matíás Lang wrote:
> On Wed, May 04, 2016 at 09:39:52AM -0300, Ariel Rossanigo wrote:
> > 
> > Hola Matias; supongo que el problema viene porque los módulos de
> > Python
> > trabajan con el calendario Gregoriano extendido [0] y en realidad
> > ese
> > calendario antes de 1582 no existía; existía el juliano que tiene
> > algunas
> > diferencias de días.
> > 
> > Hay una fórmula para corregir eso, acá la podés ver [1]. Quedaría
> > más o
> > menos así:
> > 
> > In [1]: import datetime
> > 
> > In [2]: year = 156
> > 
> > In [3]: d = datetime.datetime(year,1,26)
> > 
> > 
> > In [4]: (d.weekday() + (year//100) - (year//400) - 2)%7
> > Out[4]: 6
> > 
> > 
> > Saludos
> > 
> > [0]: https://docs.python.org/2/library/calendar.html#module-calenda
> > r
> > Most of these functions and classes rely on the datetime
> > <https://docs.python.org/2/library/datetime.html#module-datetime>
> > module
> > which uses an idealized calendar, the current Gregorian calendar
> > indefinitely extended in both directions. This matches the
> > definition of
> > the “proleptic Gregorian” calendar in Dershowitz and Reingold’s
> > book
> > “Calendrical Calculations”, where it’s the base calendar for all
> > computations.
> > [1]:
> > https://en.wikipedia.org/wiki/Gregorian_calendar#Difference_between
> > _Gregorian_and_Julian_calendar_dates
> Muchas gracias Ariel por aclararlo! Parece que es eso efectivamente.
> 
> On Wed, May 04, 2016 at 10:13:40AM -0300, Daniel wrote:
> > 
> > ¡Que interesante!
> > ahora... no me parece un comportamiento esperado de la función.
> > Debería dar
> > error antes de ese año, o corregirlo
> > después salen errores como el que acabo de encontrar en este mismo
> > hilo
> > calculando los tiempos :P
> Leyendo lo que publicó Ariel parece que justifican ese tipo de
> comportamiento con la definición del libro "Calendrical
> Calculations".
> Igualmente es medio raro que funcione distinto a la mayoría de
> aplicaciones según lo que probé, es un poco como decir "están todos
> mal
> menos yo" je.
> 
> 
> On Wed, May 04, 2016 at 11:35:02AM -0300, Gonzalo Martinez wrote:
> > 
> > Buenas, sabés que yo leí tu mail y a lo bruto empecé a ver cuando
> > es que
> > hacia el quiebre entre funcionar bien y funcionar mal.
> > 
> > y evidentemente el quiebre se da en 1752 que es según Wikipedia [0]
> > cuando
> > se empieza a usar el calendario gregoriano en Inglaterra.
> > 
> > Esa prueba abona lo que dijo Ariel con respecto al tema del
> > calendario
> > gregoriano vs juliano
> > 
> > https://en.wikipedia.org/wiki/Gregorian_calendar#Difference_between
> > _Gregorian_and_Julian_calendar_dates
> > 
> Genial! Gracias por la corroboración
> 
> PD: Al final no estoy muy seguro que el resultado del challenge se
> solucione por este camino de ver el año (se aceptan tips de gente que
> lo
> haya pasado :D) pero por lo menos aprendí algo bastante interesante
> sobre el manejo de fechas y calendarios. 

Entonces se podría decir que pasas el challenge. Presupongo que es la
idea del ejercicio, dar cuenta de como funcionan algunas cosas en
python.

Saludos

nueces...

> Saludos!
> 
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
> 
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> 
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
> de Argentina - http://www.usla.org.ar


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