Estoy usando el módulo de fecha y hora de Python , es decir:
>>> import datetime
>>> today = datetime.datetime.now()
>>> print today
2009-03-06 13:24:58.857946
y me gustaría calcular el día del año sensible a los años bisiestos. por ejemplo, hoy (6 de marzo de 2009) es el día 65 de 2009. Aquí está la calculadora de fecha y hora basada en la web .
De todos modos, veo dos opciones:
A. Cree una matriz number_of_days_in_month = [31, 28, ...], decida si es un año bisiesto, resuma manualmente los días.
B. Use datetime.timedeltapara adivinar y luego busque binariamente el día correcto del año:
>>> import datetime
>>> YEAR = 2009
>>> DAY_OF_YEAR = 62
>>> d = datetime.date(YEAR, 1, 1) + datetime.timedelta(DAY_OF_YEAR - 1)
Ambos se sienten bastante torpes y tengo el presentimiento de que hay una forma más "pitónica" de calcular el día del año. ¿Alguna idea / sugerencia?
date.today()lugar dedatetime.now()también funciona y enfatiza un poco más la naturaleza de la operación.