J'utilise le module datetime Python , c'est-à-dire:
>>> import datetime
>>> today = datetime.datetime.now()
>>> print today
2009-03-06 13:24:58.857946
et je voudrais calculer le jour de l'année qui est sensible aux années bissextiles. Par exemple, aujourd'hui (6 mars 2009) est le 65e jour de 2009. Voici la calculatrice DateTime basée sur le Web .
Quoi qu'il en soit, je vois deux options:
A. Créez un tableau number_of_days_in_month = [31, 28, ...], décidez si c'est une année bissextile, additionnez manuellement les jours.
B. Utilisez datetime.timedelta
pour faire une estimation puis une recherche binaire pour le jour correct de l'année:
>>> import datetime
>>> YEAR = 2009
>>> DAY_OF_YEAR = 62
>>> d = datetime.date(YEAR, 1, 1) + datetime.timedelta(DAY_OF_YEAR - 1)
Celles-ci sont toutes les deux assez maladroites et j'ai le sentiment instinctif qu'il existe une manière plus "pythonique" de calculer le jour de l'année. Des idées / suggestions?
date.today()
plutôt quedatetime.now()
fonctionne aussi et souligne un peu plus la nature de l'opération.