Sto usando il modulo datetime Python , ovvero:
>>> import datetime
>>> today = datetime.datetime.now()
>>> print today
2009-03-06 13:24:58.857946
e vorrei calcolare il giorno dell'anno sensibile agli anni bisestili. ad es. oggi (6 marzo 2009) è il 65 ° giorno del 2009. Ecco il calcolatore DateTime basato sul web .
Ad ogni modo, vedo due opzioni:
A. Crea un array number_of_days_in_month = [31, 28, ...], decidi se è un anno bisestile, riassumi manualmente i giorni.
B. Usare datetime.timedeltaper fare un'ipotesi e quindi una ricerca binaria per il giorno dell'anno corretto:
>>> import datetime
>>> YEAR = 2009
>>> DAY_OF_YEAR = 62
>>> d = datetime.date(YEAR, 1, 1) + datetime.timedelta(DAY_OF_YEAR - 1)
Entrambi sembrano piuttosto goffi e ho la sensazione che ci sia un modo più "Pythonic" di calcolare il giorno dell'anno. Qualche idea / suggerimento?
date.today()piuttosto chedatetime.now()anche funziona e sottolinea un po 'di più la natura dell'operazione.