Как рассчитать количество дней между двумя заданными датами
Если у меня есть две даты (например, '8/18/2008' и '9/26/2008'), каков наилучший способ получить количество дней между этими двумя датами?
'8/18/2008'
'9/26/2008'
Переведено автоматически
Ответ 1
Если у вас есть два объекта date, вы можете просто вычесть их, что вычислит timedelta объект.
timedelta
from datetime import dated0 = date(2008, 8, 18)d1 = date(2008, 9, 26)delta = d1 - d0print(delta.days)
Соответствующий раздел документации:https://docs.python.org/library/datetime.html.
Смотрите Этот ответ для другого примера.
Ответ 2
Используя возможности datetime:
from datetime import datetimedate_format = "%m/%d/%Y"a = datetime.strptime('8/18/2008', date_format)b = datetime.strptime('9/26/2008', date_format)delta = b - aprint(delta.days) # that's it how to calculate number of days between two given dates
Ответ 3
Дни до Рождества:
>>> import datetime>>> today = datetime.date.today()>>> someday = datetime.date(2008, 12, 25)>>> diff = someday - today>>> diff.days86
Больше арифметики здесь.
Ответ 4
все ответили превосходно, используя дату, позвольте мне попытаться ответить на это, используя pandas
dt = pd.to_datetime('2008/08/18', format='%Y/%m/%d')dt1 = pd.to_datetime('2008/09/26', format='%Y/%m/%d')(dt1-dt).days
Это даст ответ.В случае, если одним из входных данных является столбец dataframe. просто используйте dt.days вместо дней
(dt1-dt).dt.days