Korzystam z datetime
modułu tj .:
>>> import datetime
>>> today = datetime.datetime.now()
>>> print(today)
2009-03-06 13:24:58.857946
i chciałbym obliczyć dzień w roku uwzględniający lata przestępne. np. dzisiaj (6 marca 2009) jest 65 dzień 2009.
Widzę dwie opcje:
Utwórz
number_of_days_in_month = [31, 28, ...]
tablicę, zdecyduj, czy jest to rok przestępny i ręcznie zsumuj dni.Użyj,
datetime.timedelta
aby zgadnąć, a następnie wyszukać binarny właściwy dzień roku:>>> import datetime >>> YEAR = 2009 >>> DAY_OF_YEAR = 62 >>> d = datetime.date(YEAR, 1, 1) + datetime.timedelta(DAY_OF_YEAR - 1)
Oba wydają się dość niezgrabne i mam przeczucie, że istnieje bardziej „Pythonowy” sposób obliczania dnia w roku. Jakieś pomysły / sugestie?
date.today()
raczej niżdatetime.now()
również działa i nieco bardziej podkreśla charakter operacji.