我正在使用raspberry 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')发布于 2018-07-17 07:30:10
您可以只使用datetime模块。
Ex:
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')发布于 2018-07-17 07:27:02
问题在于您正在使用的strftime方法。它返回时间字符串,而不是datetime.time对象。看看这个answer来获取当前的时间。复制答案中的内容:datetime.datetime.now().time()
发布于 2018-07-17 07:38:40
一种可能的解决方案(另一种是使用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至15:30之间,则打印this is right (包括)。
https://stackoverflow.com/questions/51375447
复制相似问题