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

Compare if datetime.timedelta is between two values

我有一个Python中的对象(例如,datetime.timedelta时间上午02点)我想如果这是一个检查的时间少于5分钟,然后minutess和大1。

我不知道如何构建timedelta对象,我也不知道这是正确的格式的相对时间。任何人都知道的最有效的方式吗?


因此,如果您从一个严格而精确的格式为'HH:MM:SS'的字符串开始,timedelta并不直接提供字符串分析功能,但并不难做到:

1
2
3
4
5
import datetime

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

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

一旦您有了timedelta实例,您请求的检查就很容易了,例如:

1
2
3
4
5
onemin = datetime.timedelta(minutes=1)
fivemin = datetime.timedelta(minutes=5)

if onemin < parsedelta('00:02:00') < fivemin:
    print('yep')

如预期,将显示yep