Witam,
mam następujący problem.
Tutaj mam tablice dzwonków przerw:
dzwonki = [
{"start": "07:30", "end": "08:00"},
{"start": "08:45", "end": "08:50"},
{"start": "09:35", "end": "09:40"},
{"start": "10:25", "end": "10:30"},
{"start": "11:15", "end": "11:35"},
{"start": "12:20", "end": "12:40"},
{"start": "13:25", "end": "13:30"},
{"start": "14:15", "end": "14:20"},
{"start": "15:05", "end": "15:10"},
{"start": "15:55", "end": "16:00"},
{"start": "16:45", "end": "16:50"}
]
I chce żeby ta funkcja check_przerwa() poprawnie zwracała numer aktualnie trwającego przedziału czasowego:
@app.route('/przerwa', methods=['GET'])
def check_przerwa():
current_time = datetime.now().time()
print("Aktualny czas:", current_time)
for idx, dzwonek in enumerate(dzwonki):
start_time = datetime.strptime(dzwonek["start"], "%H:%M").time()
end_time = datetime.strptime(dzwonek["end"], "%H:%M").time()
print(f"Przerwa {idx+1}: {start_time} - {end_time}")
if start_time <= current_time <= end_time:
return jsonify({"numer_indeksu": idx})
return jsonify({"numer_indeksu": None})
Aktualnie nie robi tego poprawnie i nie wiem w czym jest problem , czas na serwerze jest poprawnie pobierany i jak mam np: przedział po edycji z poziomu aplikacji (jest taka możliwość) {"start": "09:35", "end": "10:00"}, i jest godzina 09:47 na serwerze to pisze mi że nie trwa żadna przerwa.
Nie wiem w czym jest problem.
Pozdrawiam
Piotr Domański