用户输入时间,然后进行比较



将当前时间与没有日期的用户输入时间进行比较

所以我正在制定一个照明程序,我需要做一些时间比较,看看我是否处于周期中间或周期之外。长话短说,我在将用户输入的时间与日期时间模块的格式化时间进行比较时遇到问题:

def userInput():
        try:
            a = datetime.datetime.strptime(input('When you would like to routine to start in HH:MM 24 hour format: '), "%H:%M")
            print (a.strftime("%H:%M"))
        except:
            print ("Please enter correct time in HHMM format")
        return a
def timeComparator(a):
    now = datetime.datetime.now().time()
    #this obtains the current time
    today = a
    #if statement compares input from 
    print("the time now is: ", now)
    if (now < today):
        print ("hello human")
    elif (now > today):
        print ("hello plant")

if __name__=="__main__":
    a = userInput()
    timeComparator(a)

我收到错误"类型错误:'日期时间.时间'和'日期时间.日期时间'的实例之间不支持'<'",我想这意味着用于比较的格式不兼容。

我不需要日期或其他任何东西,只需要当前时间。我希望能够比较用户输入时间是在当前时间之前还是之后。

函数

timeComparator中的todaydatetime对象,而nowtime对象。只需确保user_input返回一个time对象:

def userInput():
    try:
        a = datetime.datetime.strptime(input('When you would like to routine to start in HH:MM 24 hour format: '), "%H:%M").time() #<----- added .time()
        print (a.strftime("%H:%M"))
    except:
        print ("Please enter correct time in HHMM format")
    return a

相关内容

  • 没有找到相关文章

最新更新