Как получить разницу во времени
В базе данных хранится время начала проката самоката, допустим 12:00. В 12:45 самокат был сдан и нужно посчитать сумму, где одна минута равна к примеру 10 руб.
Так я записываю начало проката:
now = datetime.datetime.now()
greatest_orm.new_bike(bicycle_id, now.strftime('%H:%M'))
В конце я получаю строку из базы данных где я и застрял, как из неё сделать объект чтобы вывести разницу и тем более посчитать поминутно сумму я не знаю, либо же стоит вообще поменять реализацию.
UPD: При попытке привести сторку к объекту datetime получается бред
date_time_obj = datetime.datetime.strptime('12:40', '%H:%M')
date_time_ob2 = datetime.datetime.strptime('13:24', '%H:%M')
time_delta = (date_time_obj - date_time_ob2)
print(time_delta)
>>> -1 day, 23:16:00
Ответы (2 шт):
Автор решения: gil9red
→ Ссылка
Вычитать нужно из большей даты
import datetime
date_time_obj1 = datetime.datetime.strptime('12:40', '%H:%M')
date_time_obj2 = datetime.datetime.strptime('13:24', '%H:%M')
time_delta = date_time_obj2 - date_time_obj1
print(time_delta)
# 0:44:00
seconds = time_delta.total_seconds()
print(seconds)
# 2640.0
print(seconds // 60)
# 44.0
Автор решения: Эникейщик
→ Ссылка
Надо наоборот отнимать. Первое время из второго, а не второе из первого.