Отказ
Мне трудно создавать datetime
объекты, которые вы сделали. Поэтому мой ответ не будет прямым решением вашей конкретной проблемы.
В моем коде не определено x
. Если вы предоставите его, я могу изменить свой ответ, чтобы он был более конкретным.
Ответ
Но если вы используете этот код:
import datetime as dt
first_time = dt.datetime(2019, 1, 8, 8, 43, 33) #This is a good way to make a datetime object
Чтобы сделать ваш объект даты и времени, этот код ниже сделает правильные вычисления и распечатает его для вас:
second_time = dt.datetime.now()
my_delta = first_time - second_time
print("Minutes: " + str(my_delta.total_seconds()/60))
print("Hours: " + str(my_delta.total_seconds()/3600))
print("Days: " + str(my_delta.total_seconds()/3600/24))
Примечание
dt.datetime
принимает (год, месяц, день, час, минута, секунда) здесь, но dt.datetime.now()
также делает единицу с микросекундами (год, месяц, день, час, минута, секунда, микросекунды). Функция может обрабатывать данные с разными временными характеристиками без ошибок.
Примечание 2
Если вы сделаете print(my_delta)
и получите что-то вроде: -1 day, 16:56:54.481901
, это будет равняться вашей разнице, если ваша разница Hours: -7.051532805277778
Это потому, что 24-16.95 = -7.05