example create python datetime format timedelta

create - Python timedelta eliminar microsegundos



strftime python example (4)

Hago un cálculo del tiempo promedio y me gustaría mostrar el promedio resultante sin microsegundos.

avg = sum(datetimes, datetime.timedelta(0)) / len(datetimes)

Gracias


Si es solo para la pantalla, esta idea funciona:

avgString = str(avg).split(".")[0]

La idea es tomar solo lo que está antes del punto. Volverá 01:23:45 para 01: 23: 45.1235


Toma el timedetla y elimina sus propios microsegundos, como microsegundos y atributo de solo lectura:

avg = sum(datetimes, datetime.timedelta(0)) / len(datetimes) avg = avg - datetime.timedelta(microseconds=avg.microseconds)

Puedes hacer tu propia pequeña función si es una necesidad recurrente:

import datetime def chop_microseconds(delta): return delta - datetime.timedelta(microseconds=delta.microseconds)

No he encontrado una mejor solución.


Otra opción, dado timedetla que puedes hacer:

avg = datetime.timedelta(seconds=math.ceil(avg.total_seconds()))

Puede reemplazar math.ceil() , con math.round() o math.floor() , dependiendo de la situación.


Puede modificar los elementos de datetimes como sigue:

In [1]: datetime.datetime.now().replace(hour=0, minute=0, second=0, microsecond=0) Out[1]: datetime.datetime(2017, 4, 28, 0, 0)