months example create python datetime python-2.7 floating-point timedelta

python - example - Convertir timedelta en punto flotante



timedelta python (5)

Obtuve un objeto timedelta de la resta de dos fechas. Necesito este valor como punto flotante para realizar más cálculos. Todo lo que he encontrado habilita el cálculo con puntos flotantes, pero el resultado sigue siendo un objeto timedelta.

time_d = datetime_1 - datetime_2 time_d_float = float(time_d)

No funciona.


En versiones recientes de Python, puede dividir dos timedelta para dar un flotador. Esto es útil si necesita que el valor esté en unidades que no sean segundos.

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


Puede usar el método total_seconds :

time_d_float = time_d.total_seconds()


Puedes usar numpy para resolver eso:

import pandas as pd import numpy as np time_d = datetime_1 - datetime_2 #for a single value number_of_days =pd.DataFrame([time_d]).apply(np.float32) #for a Dataframe number_of_days = time_d.apply(np.float32)

Espero que sea útil!


Si necesita el número de días como número flotante, puede usar el atributo de días de timedelta

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


Tuve el mismo problema antes y utilicé timedelta.total_seconds para obtener la duración estimada en segundos con float y funciona. Espero que esto funcione para ti.

from datetime import timedelta,datetime time_d = datetime_1 - datetime_2 time_d.total_seconds()