setTimeout автоматическое обновление раз в минуту и раз в сутки

Рейтинг: 0Ответов: 0Опубликовано: 31.05.2023

как исправить функции time и data, чтобы элемент time обновлялся раз в минуту, в 00сек, а элемент data раз в сутки в 00:00:00, если пользователь зашёл на сайт в полночь, дата должна автоматически обновится, без ручной перезагрузки страницы...

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>js | скрипт время/дата</title>
  <style>
   #time,
   #data { 
    font: 40px serif;
   }
   
   #time {
    color: hsl(140,100%,30%);
   }
   
   #data {
    color: hsl(120,100%,30%);
   }
  </style> 
 </head> 
 <body>
  <span id="time"></span><br>
  <span id="data"></span>
  
  <script>
  var TimeElems = document.getElementById('time').innerHTML = time();
  var DataElems = document.getElementById('data').innerHTML = data();
  
  function two_digit(n) {
  var str = "";
  if (n <= 9) str = "0";
  str = str + n;
  return str;
  }
  
  function time() {
  var t = new Date();
  var hours = two_digit(t.getHours());
  var min = two_digit(t.getMinutes());
  var sec = two_digit(t.getSeconds());
  
  return hours + "<span class='colon'>:</span>" + min;
  }
  
  function data() {
  var d = new Date();
  var days = ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"];
  var day = d.getDate();
  // var month = two_digit(d.getMonth()+1);
  // var months = ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];
  var months = ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII"];
  var year = d.getFullYear();
  
  // return days[d.getDay()] + "<br>" + day + "." + month + "." + year + "г."; // = строка 29
  // return days[d.getDay()] + "<br>" + day + " " + months[d.getMonth()]+ " " + year + "г."; // = строка 30
  return days[d.getDay()] + "<br>" + day + "." + months[d.getMonth()]+ "." + year + "г."; // = строка 31
  }
  
  </script>
  
 </body>
</html>

Ответы

Ответов пока нет.