Я пытаюсь создать таймер обратного отсчета, который будет постоянно отсчитывать до ближайшего 10-минутного интервала реального времени. Таким образом, если пользователь переходит на страницу в 16:01, он будет отсчитывать 9:00, а затем сбрасывать, когда достигнет 0. Но время всегда будет относиться к фактическому времени.
Это то, что у меня есть до сих пор:
<p id="timer"></p>
<script>
var start = Date.now(),
r = document.getElementById("timer");
(function f() {
var diff = Date.now() - start,
ns = ((6e5 - diff) / 1000) >> 0,
m = (ns / 60) >> 0,
s = ns - m * 60;
r.textContent =
m + ":" + (("" + s).length > 1 ? "" : "0") + s + " minutes";
if (diff > 6e5) {
start = Date.now();
}
setTimeout(f, 1000);
})();
</script>
Вот код моего рабочего кода https://codepen.io/gvolkerding/pen/jOOmygQ
Это отсчитывает только 10 минут с момента, когда пользователь попадает на страницу, но я не могу понять, как изменить его, чтобы искать следующую 10-минутную отметку, а затем отсчитывать до нее. Любая помощь будет принята с благодарностью