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

Я пытаюсь найти количество дат между данной датой и сегодняшней датой. указанная дата: 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

я пытаюсь получить количество дней между этими двумя датами. они обе строки, и я не могу выполнить простое вычитание. пожалуйста помоги

stackoverflow.com/questions/1345827/…
rdas 11.10.2022 10:36
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
69
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

вы можете сделать это без преобразования даты и времени в строку

(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)

Другие вопросы по теме