比较datetime.timedelta是否介于两个值之间

时间:2015-02-02 22:32:44

标签: python

我在python中有一个datetime.timedelta时间对象(例如00:02:00)我想检查这个时间是否小于5分钟且大于1分钟。

我不确定如何构建timedelta对象,我也不确定这是否是比较时间的正确格式。有人会知道最有效的方法吗?

1 个答案:

答案 0 :(得分:4)

因此,如果您使用格式为'HH:MM:SS'的严格且准确的字符串开头,timedelta不会直接提供字符串解析功能,但它会'不难做出一个:

import datetime

def parsedelta(hhmmss):
    h, m, s = hhmmss.split(':')
    return datetime.timedelta(hours=int(h), minutes=int(m), seconds=int(s))

如果您需要解析许多不同的变体,那么您最好还是寻找第三方软件包,例如dateutil

一旦有timedelta个实例,您要求的检查很简单,例如:

onemin = datetime.timedelta(minutes=1)
fivemin = datetime.timedelta(minutes=5)

if onemin < parsedelta('00:02:00') < fivemin:
    print('yep')
正如预期的那样,

将显示yep