我想在python中检查当前时间是否在两个端点之间(例如,上午8:30到下午3:00),而不考虑实际日期。就像我说的,我不在乎什么是完整的约会,只在乎时间。当我使用strptime
指定时间创建datetime
对象时,它抛出了一个虚拟日期(我认为是1900年?)这不是我想要的。我可以使用像(hour == 8 and minute >= 30) or (9 <= hour < 15)
这样笨拙的布尔表达式,但这看起来不太优雅。什么是最简单和最Python的方式来完成这一点?
再延伸一点,我真正想要的是告诉我,如果是在这个时间范围内,而且是一个工作日。当然,我可以使用0 <= weekday() <= 4
来破解这个问题,但可能有更好的方法。
datetime
对象有一个名为time()
的方法,该方法返回一个time
对象(没有日期信息)。然后可以使用普通的<
或>
运算符比较time
对象。如果您还想检查工作日,您建议的代码可能是最有效的方法,但在这种情况下,您可能不想抛出原始的
datetime
对象。相关问题 更多 >
编程相关推荐