Ich benutze die datetime
Modul, d.h.:
>>> import datetime
>>> today = datetime.datetime.now()
>>> print(today)
2009-03-06 13:24:58.857946
und ich möchte den Tag des Jahres berechnen, der die Schaltjahre berücksichtigt. z.B. ist heute (6. März 2009) der 65. Tag des Jahres 2009.
Ich sehe zwei Möglichkeiten:
-
Erstellen einer
number_of_days_in_month = [31, 28, ...]
Array, entscheiden Sie, ob es sich um ein Schaltjahr handelt, und addieren Sie die Tage manuell. -
Utilice
datetime.timedelta
um eine Vermutung anzustellen und dann binär nach dem richtigen Tag des Jahres zu suchen:>>> import datetime >>> YEAR = 2009 >>> DAY_OF_YEAR = 62 >>> d = datetime.date(YEAR, 1, 1) + datetime.timedelta(DAY_OF_YEAR - 1)
Diese beiden fühlen sich ziemlich klobig & Ich habe ein Bauchgefühl, dass es eine mehr "Pythonic" Weg zur Berechnung der Tag des Jahres. Irgendwelche Ideen/Vorschläge?