Есть ли событие, которое срабатывает при переходе на новый день в локальном времени? То есть в полночь.
Если, скажем, сделать setTimeout на разницу между текущим временем и полночью, то он сработает достаточно точно? Это будет точнее, чем каждую секунду проверять и сравнивать текущее время? То есть всякие подвисания браузера не повлияют на это?
Антон Швец, это понятно, т.к. счетчик накапливает задержки (если не завязан на постоянное считывание локального времени). Но в вопросе про один большой timeout на несколько часов.
Повлияют. Как и любые зависания.
Не знаю вашей задачи, но думаю лучше будет запускать задачу каждую минуту (или сикунду, зависит от той точности что вам нужна) и сравнивать день на прошлой и на текущей итерации