Правильный расчет оставшихся месяцев в таймере
function updateClock() {
const currentTime = new Date();
let delta = nextYear - currentTime;
const monthLeft = Math.floor(delta / 1000 / 60 / 60 / 24 / 30);
const daysLeft = Math.floor(delta / 1000 / 60 / 60 / 24) % 30;
const hoursLeft = Math.floor(delta / 1000 / 60 / 60) % 24;
const minutesLeft = Math.floor(delta / 1000 / 60) % 60;
const secondsLeft = Math.floor(delta / 1000) % 60;
clock.year.innerText = currentYear + 1;
clock.month.innerText = monthLeft;
clock.days.innerText = daysLeft;
clock.hours.innerText = hoursLeft < 10 ? '0' + hoursLeft : hoursLeft;
clock.minutes.innerText =
minutesLeft < 10 ? '0' + minutesLeft : minutesLeft;
clock.seconds.innerText =
secondsLeft < 10 ? '0' + secondsLeft : secondsLeft;
}
Вопрос в выводе месяцев в переменной monthLeft Расчет с делением на 30 в конце неверно считает, и это логично. Можно ли как то из переменной delta (разница между текущей датой и нужной) вытащить месяцы через Date
Также вопрос в выводе результатов в верстку с использованием Intl.DateTimeFormat