Since you need at least one timer that always works (to determine when it is 8am), then you can just have only one timer that runs all day.
Whenever the timer goes off, check the time. If it is not between 0800 and 1800, just return without any action and wait for the next tick.
You can try to increase the timer interval to a value that will lead you to an example. 17:55, and then reduce it again, but there will be no measurable difference in performance, so IMHO this will not be useful.
source share