繁体   English   中英

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

[英]Compare if datetime.timedelta is between two values

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

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

因此,如果您使用严格且精确地格式为'HH:MM:SS'的字符串timedelta ,则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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM