<select name="cities" id="select">
  <option value="Summer">Лето</option>
  <option value="Spring">8 марта</option>
  <option value="Autumn">1 сентября</option>
</select>
<div class="timer" id="timer">
  
</div>
let tickerId;
let select;
let resultDiv;
function declensionNum(num, words) {
  return words[
    num % 100 > 4 && num % 100 < 20
      ? 2
      : [2, 0, 1, 1, 1, 2][num % 10 < 5 ? num % 10 : 5]
  ];
}
function calc(yyyy, mm, dd) {  
  const deadline = new Date(yyyy, mm, dd);
  const diff = deadline - new Date();

  const days = diff > 0 ? Math.floor(diff / 1000 / 60 / 60 / 24) : 0;
  const hours = diff > 0 ? Math.floor(diff / 1000 / 60 / 60) % 24 : 0;
  const minutes = diff > 0 ? Math.floor(diff / 1000 / 60) % 60 : 0;
  const seconds = diff > 0 ? Math.floor(diff / 1000) % 60 : 0;
  let result = "Осталось: ";
  result += days < 10 ? "0" + days : days;
  result += " ";
  result += declensionNum(days, ["день", "дня", "дней"]);
  result += " ";
  result += hours < 10 ? "0" + hours : hours;
  result += " ";
  result += declensionNum(hours, ["час", "часа", "часов"]);
  result += " ";
  result += minutes < 10 ? "0" + minutes : minutes;
  result += " "; 
  result += declensionNum(minutes, ["минута", "минуты", "минут"]);
  result += " ";
  result += seconds < 10 ? "0" + seconds : seconds;
  result += " ";
  
  
 
  result += declensionNum(seconds, ["секунда", "секунды", "секунд"]);
  resultDiv.innerText = result;
}
function countdownTimer() {
  switch (select.value) {
    case "Autumn":
      calc(2023, 09, 01);
      break;
    case "Spring":
      calc(2023, 03, 08);
      break;
    case "Summer":
      calc(2023, 06, 01);
      break;
  }
}
function onDomLoaded() {
  tickerId = setInterval(countdownTimer, 1000);
  select = document.getElementById("select");
  resultDiv = document.getElementById("timer");
  select.addEventListener("change", (event) => {
    console.log(event.target.value);
  });
}

document.addEventListener("DOMContentLoaded", onDomLoaded);

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.