Python 2.6.5: Divide timedelta con timedelta
division (1)
En Python ≥2.7, hay un método .total_seconds()
para calcular los segundos totales contenidos en el timedelta:
>>> down_time.total_seconds() / server_life_period.total_seconds()
0.0003779903727652387
De lo contrario, no hay más remedio que calcular los microsegundos totales (para las versiones <2.7 )
>>> def get_total_seconds(td): return (td.microseconds + (td.seconds + td.days * 24 * 3600) * 1e6) / 1e6
...
>>> get_total_seconds(down_time) / get_total_seconds(server_life_period)
0.0003779903727652387
Estoy tratando de dividir un objeto timedelta
con otro para calcular el tiempo de actividad del servidor:
>>> import datetime
>>> installation_date=datetime.datetime(2010,8,01)
>>> down_time=datetime.timedelta(seconds=1400)
>>> server_life_period=datetime.datetime.now()-installation_date
>>> down_time_percentage=down_time/server_life_period
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: ''datetime.timedelta''
and ''datetime.timedelta''
Sé que esto se resolvió en Python 3.2 , pero ¿hay alguna forma conveniente de manejarlo en versiones anteriores de Python, además de calcular la cantidad de microsegundos, segundos y días y dividir?
Gracias,
Adán