我使用的是树莓pi(python(,我想在一天中的特定时间开始读取文件,但每次我试图在实时和所需时间之间进行比较时,我都一无所获,有时我会得到。typeerror:c无法将datetime.time与str 进行比较
import datetime
import time
timee = (" %s" %time.strftime("%H:%M:%S"))
t = datetime.time(14, 30, 00)
t1 = datetime.time(15, 30, 00)
if (timee >= t and timee <= t1):
print ('this is right')
您可以只使用datetime
模块。
例如:
import datetime
t = datetime.time(14, 30, 00)
t1 = datetime.time(15, 30, 00)
if (t <= datetime.datetime.time(datetime.datetime.now()) <= t1): #Check if current time is between t and t1
print ('this is right')
问题在于您使用的strftime方法。它返回一个时间字符串,而不是datetime.time对象。看看这个答案可以得到当前时间。重现答案:datetime.datetime.now().time()
一种可能的解决方案(另一种是使用datetime.now()
函数获取当前时间(:
import datetime
import time
# timee = ("%s" % time.strftime("%H:%M:%S"))
timee = time.strftime("%H:%M:%S") # no need to format it as string here
t = datetime.time(14, 30, 00)
t1 = datetime.time(15, 30, 00)
if t <= datetime.time(*[int(i) for i in timee.split(':')]) <= t1:
print ('this is right')
如果时间在14:30:00和15:30:00之间(包括在内(,则打印this is right
。