比较python中的时间增量

我有一个variables是<type 'datetime.timedelta'> ,我想比较它与特定的值。

可以说d产生这个datetime.timedelta0:00:01.782000

我想比较它是这样的:

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

我试图转换datetime.timedelta.strptime()但似乎工作。 有一个更简单的方法来比较这个值吗?

你必须用指定的时间创build一个新的timedelta

 d > timedelta(minutes=1) 

或者这个稍微更完整的脚本将有助于阐述:

 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" 

输出:

Slept for > 1 second

你只需要从零开始创buildtimedelta对象,之后的比较是微不足道的:

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

纠正我,如果我错了,但我认为你也可以使用以下内容:

代替

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

你可以说

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

但是它需要python 2.7+