Вы можете вычесть два datetime
объекта. В результате получается объект datetime.timedelta
:
started = datetime.datetime.now()
str = "20 12 01 01 2019"
time = datetime.datetime.strptime(str, "%M %H %d %m %Y")
diff = time - started
print(str(diff))
print(diff.total_seconds())
Это вывод:
121 days, 0:52:12.768755
10457532.768755
На основании вашего комментария:
datetime.datetime.now() + datetime.timedelta(minutes=60)
создает datetime.datetime
объект, смещающий now
на один час.
Это более простой подход: time.time()
измеряет секунды (как число с плавающей запятой) с 1.1.1970. Поэтому, если вы хотите выполнить какую-то работу за 0,1 секунды, вы можете написать:
import time
started = time.time()
while time.time() < started + 0.1:
print("do some work")
Анализ пользовательского ввода для извлечения необходимых секунд с помощью datetime.datetime.strptime
работает только в том случае, если ваш пользователь следует указанному формату. В противном случае вы могли бы лучше реализовать свой собственный парсер для этого.