#2
Сообщение
edyapd » 11.04.2021{, 07:57}
Надеюсь вы знаете, что такое Unix time. Если нет, то почитайте в Гугл.
Дальше всё просто:
Если без всяких оптимизаций
В переменную Х вы получаете текущее время в формате Unix time.
Все переменные (а, б, с, д) у вас так же должны храниться в Unix time.
Из переменной "а" отнимаете переменную Х. Если полученное число отрицательное, переходите к следующему шагу. Если число положительное, записываете его в переменную sleep.
На следующем шаге отнимаете из переменной "б" переменную Х. Если число отрицательное, то переходите к следующему шагу. Если число больше чем sleep, то переходите к следующему шагу. Если число меньше sleep, то перезаписываете переменную sleep полученной разницей.
Повторяете предыдущий шаг, пока не закончатся все установки будильников.
Засыпаете на время которое у вас в переменной sleep/
Возможно это не оптимальный вариант, но как по мне, вполне понятный и реализуемый.