today example create python datetime timedelta

example - Comparando un delta de tiempo en python



string to date python (4)

Tengo una variable que es <type ''datetime.timedelta''> y me gustaría compararla con ciertos valores.

Digamos que d produce este valor datetime.timedelta 0:00:01.782000

Me gustaría compararlo así:

#if d is greater than 1 minute if d>1:00: print "elapsed time is greater than 1 minute"

He intentado convertir datetime.timedelta.strptime() pero parece funcionar. ¿Hay alguna manera más fácil de comparar este valor?


Solo necesitas crear el objeto timedelta desde cero, la comparación después de eso es trivial:

>>> a = datetime.timedelta(minutes=1) >>> b = datetime.timedelta(minutes=1, seconds=1) >>> a < b True >>> a > b False


Tendrá que crear un nuevo timedelta con la cantidad de tiempo especificada:

d > timedelta(minutes=1)

O este guión un poco más completo ayudará a elaborar:

import datetime from time import sleep start = datetime.datetime.now() sleep(3) stop = datetime.datetime.now() elapsed = stop - start if elapsed > datetime.timedelta(minutes=1): print "Slept for > 1 minute" if elapsed > datetime.timedelta(seconds=1): print "Slept for > 1 second"

Salida:

Slept for > 1 second


Corrígeme si me equivoco, pero creo que también podrías usar lo siguiente:

En lugar de

if elapsed > datetime.timedelta(seconds=1):

Tu puedes decir

if elapsed.seconds > 1:


if d.total_seconds() > 60: print("elapsed time is greater than 1 minute")

pero requiere Python 2.7+