【发布时间】:2020-12-13 18:10:22
【问题描述】:
我正在尝试检查两件事:
- 如果时间在指定间隔之间。
- 如果当天是工作日。
我从this thread找到了这段代码:
from datetime import datetime, time
def is_time_between(begin_time, end_time, check_time=None):
# If check time is not given, default to current UTC time
check_time = check_time or datetime.now().time() # datetime.utcnow().time()
if begin_time < end_time:
return check_time >= begin_time and check_time <= end_time
else: # crosses midnight
return check_time >= begin_time or check_time <= end_time
而且效果很棒!
但是,如果当天是周六或周日,如何返回 false?
【问题讨论】:
-
datetime.now().time() 是一个 datetime.time 对象 - 它没有星期几的概念。 datetime.now() 是一个 datetime.datetime 对象,您可以对其调用 isoweekday() 方法。如果 check_time 需要一个 datetime.time 对象,则无法确定星期几。
标签: python python-3.x