Я пытаюсь найти количество дат между данной датой и сегодняшней датой.
указанная дата: 2022-10-10T09:01:38.581210Z
сегодняшняя дата: я запустил этот код:
from datetime import datetime
now = datetime.now()
# dd/mm/YY H:M:S
dt = now.strftime("%Y-%m-%d" + "T" + "%H:%M:%S" + "Z")
мой вывод на сегодняшнюю дату:
2022-10-11T08:29:36Z
я пытаюсь получить количество дней между этими двумя датами. они обе строки, и я не могу выполнить простое вычитание. пожалуйста помоги






вы можете сделать это без преобразования даты и времени в строку
(given_date - now).days # will give you number of days between dates
Given_date и now являются объектами даты и времени.
Я думаю, вы должны сделать что-то вроде этого, вы импортируете дату и время модуля, а затем мы вычитаем две даты и получаем, сколько дней.
from datetime import date
def numOfDays(date1, date2):
return (date2-date1).days
# Driver program
date1 = date(2018, 12, 13)
date2 = date(2019, 2, 25)
print(numOfDays(date1, date2), "days")
Кажется, у вас возникли проблемы с преобразованием вашей прошлой даты 2022-10-10T09:01:38.581210Z из строки в объект даты и времени, верно?
Вы должны установить правильный формат:
from datetime import datetime
past_date = datetime.strptime("2022-10-10T09:01:38.581210Z", "%Y-%m-%dT%H:%M:%S.%fZ")
print(datetime.now() - past_date)
Вывод:
1 day, 1:41:12.762025
Вы можете вернуть количество прошедших дней в виде целого числа с помощью print((datetime.now() - past_date).days)
import datetime
your_date = '2022-09-01'
i =1
while(True):
d = today - datetime.timedelta(days=i)
i = i+1
if ( str(d) == your_date ):
break
print(i)