我需要一些帮助才能传递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_time值22:35不等于current_timevalue时23:48.那么我如何比较start_time和current_time我想要比较之间的值,看看它是否小于00:00变量的值stop_time?
我想检查变量中的值stop_time是否小于current_time和start_time.
想象一下,你正在观看它22:35在你当前时间开始的电视节目.你正在观看比节目结束前更少的东西00:00,所以你在完成时间之前再次检查时间00:00,它说它还在中途.然后你会在当前时间检查它,然后00:00它会说它已经完成.
在我的代码上,我将永远得到传递,elif current_time > stop_time:因为我总是得到print "program has finished"我应该拥有的print "program is half way"代替.
如何比较变量之间的三个值start_time并current_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)
使用两个比较和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)
| 归档时间: |
|
| 查看次数: |
780 次 |
| 最近记录: |