Converti anno/mese/giorno in giorno dell’anno in Python

| |

Sto utilizzando il modulo datetime , ovvero:

>>> import datetime >>> today = datetime.datetime.now() >>> print(today) 2009-03- 06 13:24:58.857946 

e vorrei calcolare il giorno dell'anno che tiene conto degli anni bisestili, ad esempio oggi (6 marzo 2009) è il 65° giorno del 2009.

Vedo due opzioni:

  1. Crea un array number_of_days_in_month = [31, 28, ...], decidi se "un anno bisestile e somma manualmente i giorni.

  2. Utilizza datetime.timedelta per fare un'ipotesi & quindi ricerca binaria per il giorno corretto dell'anno:

    >>> importa data e ora >>> ANNO = 2009 >>> GIORNO_DI_ANNO = 62 >>> d = datetime.date(YEAR, 1, 1) + datetime.timedelta(DAY_OF_YEAR - 1) 

Entrambi sembrano piuttosto goffi & Ho la sensazione viscerale che esista "un modo più "pittonico" per calcolare il giorno dell'anno. Qualche idea/suggerimento?