比较if语句中的三个变量

5 python python-2.7

我需要一些帮助才能传递if语句.当我尝试使用三个变量比较值时,我遇到了if语句的问题,因为我正试图通过.

start_time = '22:35'
current_time = '23:48'
stop_time = '00:00'

if current_time == start_time:
   print "the program has started"


elif start_time != current_time < stop_time:
    print "program is half way"


elif current_time > stop_time:
    print "program has finished"
Run Code Online (Sandbox Code Playgroud)

我可以在没有任何问题的情况下传递每个if语句,但我的问题是当我的变量start_time22:35不等于current_timevalue时23:48.那么我如何比较start_timecurrent_time我想要比较之间的值,看看它是否小于00:00变量的值stop_time

我想检查变量中的值stop_time是否小于current_timestart_time.

想象一下,你正在观看它22:35在你当前时间开始的电视节目.你正在观看比节目结束前更少的东西00:00,所以你在完成时间之前再次检查时间00:00,它说它还在中途.然后你会在当前时间检查它,然后00:00它会说它已经完成.

在我的代码上,我将永远得到传递,elif current_time > stop_time:因为我总是得到print "program has finished"我应该拥有的print "program is half way"代替.

如何比较变量之间的三个值start_timecurrent_time查看它是否小于并检查它是否小于00:00变量的值stop_time

编辑:当我从日期格式获取小时和分钟,特别是年,月,日,小时,分钟和秒时,我将它们用作字符串

start_date = str(stop_date[0]) #get start_date date format from database
stop_date = str(stop_date[1]) #get start_date date format from database
get_current_time = datetime.datetime.now().strftime('%H:%M') 
get_start_time = time.strptime(start_date, '%Y%m%d%H%M%S')
start_time = time.strftime('%H:%M', get_start_time)
get_stop_time = time.strptime(stop_date, '%Y%m%d%H%M%S')
stop_time = time.strftime('%H:%M', get_stop_time)
current_time = str(get_current_time)
Run Code Online (Sandbox Code Playgroud)

Mic*_*cky 0

使用两个比较和and逻辑,我们可以创建如下内容:

if current_time > start_time and current_time < stop_time:
    #do work
Run Code Online (Sandbox Code Playgroud)

但实际的问题是处理日期和时间

   current_time = datetime.now() #lets say this is 2016, 2, 12, 17:30
   start_time = datetime.datetime(2016,2,12,16,30) # or datetime.strptime(start_time)
   end_time = datetime.datetime(2016,2,13,0,0)
if current_time == start_time:
    print "the program has started"


elif current_time > start_time and current_time < stop_time:
    print "Program is still running"


elif current_time > stop_time:
    print "program has finished"
Run Code Online (Sandbox Code Playgroud)