Преобразование timedelta в плавающую точку

Я получил объект timedelta из вычитания двух дат. Мне нужно это значение как плавающая точка для дальнейших вычислений. Все, что я нашел, позволяет вычислять с помощью плавающих точек, но результат все равно является объектом timedelta.

time_d = datetime_1 - datetime_2 time_d_float = float(time_d) 

не работает.

  • Python (странно) округляет значения
  • В чем разница между int () и floor () в Python 3?
  • Создавайте компактные / дружественные к человеку поплавки с использованием уникодовых вульгарных фракций
  • Каковы все возможные расчеты, которые могут вызвать NaN в Python?
  • numpy float: 10x медленнее, чем встроено в арифметические операции?
  • Самый быстрый способ обнулить низкие значения в массиве?
  • Преобразовать объект datetime.date в объект datetime.datetime с нулями для любых отсутствующих атрибутов времени
  • python - как найти datetime 10 минут после текущего времени?
  • python pandas extract year from datetime - df = df . year не работает
  • Разбор ненулевых временных меток в Python
  • Как преобразовать строку с информацией о часовом поясе в datetime в python без dateutil?
  • Как получить первое datetime дня?
  • 5 Solutions collect form web for “Преобразование timedelta в плавающую точку”

    Вы можете использовать метод total_seconds :

     time_d_float = time_d.total_seconds() 

    В последних версиях Python вы можете разделить два timedelta s, чтобы дать поплавок. Это полезно, если вам нужно, чтобы значение находилось в единицах, отличных от секунд.

     time_d_min = time_d / datetime.timedelta(minutes=1) time_d_ms = time_d / datetime.timedelta(milliseconds=1) 

    Если вам нужно количество дней в качестве плавающего числа, вы можете использовать атрибут timedelta's days

     time_d = datetime_1 - datetime_2 number_of_days = float(time_d.days) 

    Вы можете использовать numpy для решения этой проблемы:

     time_d = datetime_1 - datetime_2 number_of_days = time_d.apply(np.float32) 

    Надеюсь, это полезно!

    Раньше у меня была такая же проблема, и я использовал timedelta.total_seconds, чтобы получить расчетную продолжительность в секундах с помощью float, и она работает. Надеюсь, это сработает для вас.

     from datetime import timedelta,datetime time_d = datetime_1 - datetime_2 time_d.total_seconds() 
    Python - лучший язык программирования в мире.