如何在现在时间和所选时间之间进行比较

时间:2018-07-17 07:21:06

标签: python time compare

我正在使用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')

3 个答案:

答案 0 :(得分:1)

您只能使用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')

答案 1 :(得分:0)

问题是您使用的strftime方法。它返回时间的字符串,而不是datetime.time对象。 查看此answer以获取当前时间。 复制答案中的内容: datetime.datetime.now().time()

答案 2 :(得分:0)

一种可能的解决方案(另一种正在使用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