Как запустить / остановить функцию в зависимости от времени начала и конца входа - PullRequest
0 голосов
/ 13 марта 2020

У меня есть несколько светодиодных индикаторов, которые я хочу включить в поле ввода с 0600 до 1800, или, возможно, запустить другую функцию с 1800 до 0300. Как я могу настроить функцию, чтобы действие было включено в течение периода между ввод значений и выключение в противном случае. Я использовал Время, но сталкиваюсь с проблемами. Я не знаю, должен ли я преобразовать запись в Int () и сравнить, но обнаружил, что это не решает вечер при записи. Любые мысли по этому поводу будут оценены.

LED_time_on_txt = StringVar()
LED_time_on = Entry(control_window, width = 4, bd=5, font= "Arial",14),textvariable=LED_time_on_txt)
LED_time_on.grid(row=3,column=8,sticky=W)
LED_time_off_txt = StringVar()
LED_time_off = Entry(control_window, width = 4, bd=5, font=("Arial",14),textvariable=LED_time_off_txt)
LED_time_off.grid(row=3,column=10,sticky=W)

1 Ответ

0 голосов
/ 14 марта 2020

Разобрался с другими постами ... функция выглядит примерно так:

now = datetime.now()
timeontxt = LED_time_on_txt.get()
timeofftxt = LED_time_off_txt.get()
time_on = now.replace(hour=int(timeontxt[:2]), 
minute=int(timeontxt[:2]),second=0, microsecond=0)
time_off = now.replace(hour=int(timeofftxt[:2]), minute=int(timeofftxt[:2]), second=0, microsecond=0)
if time_on > time_off:
    time_off = time_off + timedelta(days=1)
if time_on<now<time_off:
    LED_status.config(text="ON")
...