Python 两次之间的If语句
我有以下代码:Python 两次之间的If语句,python,datetime,time,Python,Datetime,Time,我有以下代码: if date.datetime.now().strftime('%H:%M:%S') != ( date.time(hour = 23, minute = 59, second = 59) and date.time(hour = 13, minute = 35, second =01)): print("ok") 如果时间不在午夜到下午1点15分1秒之间,我想打印ok。这个脚本可以工作,但不正确。如何修复此问题。编辑: 对不起,我之前的回答是错误的 我想你是在看范围
if date.datetime.now().strftime('%H:%M:%S') != ( date.time(hour = 23, minute = 59, second = 59) and date.time(hour = 13, minute = 35, second =01)):
print("ok")
如果时间不在午夜到下午1点15分1秒之间,我想打印ok。这个脚本可以工作,但不正确。如何修复此问题。编辑:
对不起,我之前的回答是错误的
我想你是在看范围,而不是平等比较。因此,首先,您需要对每种情况与当前日期进行比较。因此,您需要将公式13:35:01current_date = date.datetime.now().strftime('%H:%M:%S')
if current_date > date.time(hour = 23, minute = 59, second = 59) and current_date < date.time(hour = 13, minute = 35, second = 01):
print("ok")
你可以简化很多事情,因为你想检查时间范围从下午0点到下午1点15分钟 你只需要检查一下时间是否比下午1点15分钟大 如果date.datetime.now.time>date.timehour=13,分钟=35,秒=1: 印度教 strftime为您提供一个字符串。你不会想要的。您想要比较时间/日期时间对象。例:
from datetime import time
t0, t1 = time(0, 0, 0), time(13, 15, 1)
test = (time(1,2,3), time(19,15,30))
for t in test:
if t0 < t <= t1:
print(f"ok: {t}")
else:
print(f"not ok: {t}")
# ok: 01:02:03
# not ok: 19:15:30
感谢您的回复,不知什么原因,我收到了Syntaxer错误:无效令牌。这是否回答了您的问题?