【发布时间】:2015-02-02 22:32:44
【问题描述】:
我在 python 中有一个 datetime.timedelta 时间对象(例如 00:02:00)我想检查这个时间是否小于 5 分钟并且大于 1 分钟。
我不确定如何构造 timedelta 对象,也不确定这是否是比较时间的正确格式。有人知道最有效的方法吗?
【问题讨论】:
-
你不知道如何构造timedelta对象是什么意思?你看过文档吗?你试过了吗?
标签: python
我在 python 中有一个 datetime.timedelta 时间对象(例如 00:02:00)我想检查这个时间是否小于 5 分钟并且大于 1 分钟。
我不确定如何构造 timedelta 对象,也不确定这是否是比较时间的正确格式。有人知道最有效的方法吗?
【问题讨论】:
标签: python
所以如果你从一个严格而精确的'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。
【讨论】: