Potrzebuję pomocy w uzyskaniu podania instrukcji if. Mam problem z instrukcją if, gdy próbuję przejść, gdy próbuję porównać wartości używając trzech zmiennych.Porównywanie trzech zmiennych dla instrukcji 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"
mogę przejść na każdej if bez problemu, ale mój problem jest, gdy mam zmienną start_time
z wartością 22:35
których nie jest równa current_time
wartości 23:48
. Więc jak mogę porównać z wartościami między start_time
i current_time
, które chcę porównać, aby zobaczyć, czy jest on mniejszy niż wartość 00:00
ze zmiennej stop_time
?
Chcę sprawdzić, czy wartość ze zmiennej stop_time
jest mniejsza niż current_time
i start_time
.
Po prostu wyobraź sobie, że oglądasz program telewizyjny, który zaczyna się od 22:35
w twoim bieżącym czasie. Oglądasz, która jest mniejsza niż przed zakończeniem programu pod numerem 00:00
, więc sprawdzasz czas ponownie przed końcem czasu 00:00
, który mówi, że jest jeszcze w połowie. Następnie sprawdzisz to później w bieżącym czasie, który jest późniejszy niż 00:00
, co oznacza, że program się zakończył.
Cóż, na moim kodeksie zawsze będę miał przepustkę na elif current_time > stop_time:
, ponieważ zawsze otrzymuję numer print "program has finished"
, który powinienem mieć zamiast tego print "program is half way"
.
Jak można porównać trzy wartości pomiędzy zmiennymi start_time
i current_time
aby sprawdzić, czy jest ona mniejsza niż i sprawdzić, czy jest ona mniejsza wartość 00:00
ze zmiennej stop_time
?
EDIT: Oto co mogę użyć je jako ciąg kiedy ja dostaję godziny i minuty od formatu daty zwłaszcza rok, miesiąc, dzień, godzina, minuta i sekunda
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)
Czy wszystkie te wartości czasu nie powinny być rzeczywistymi obiektami datetime lub wartością time.time()? – spicavigo
Jeśli czasy są tylko HH: MM i przekraczasz granicę dnia, to nigdy nie możesz porównać nawet 2 wartości. – spicavigo