Вопрос-Ответ

How to calculate number of days between two given dates

Как рассчитать количество дней между двумя заданными датами

Если у меня есть две даты (например, '8/18/2008' и '9/26/2008'), каков наилучший способ получить количество дней между этими двумя датами?

Переведено автоматически
Ответ 1

Если у вас есть два объекта date, вы можете просто вычесть их, что вычислит timedelta объект.

from datetime import date

d0 = date(2008, 8, 18)
d1 = date(2008, 9, 26)
delta = d1 - d0
print(delta.days)

Соответствующий раздел документации:
https://docs.python.org/library/datetime.html.

Смотрите Этот ответ для другого примера.

Ответ 2

Используя возможности datetime:

from datetime import datetime
date_format = "%m/%d/%Y"

a = datetime.strptime('8/18/2008', date_format)
b = datetime.strptime('9/26/2008', date_format)

delta = b - a

print(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.days
86

Больше арифметики здесь.

Ответ 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
python datetime