Проблема с часами Javascript

У меня есть этот код, который делает часы в Javascript. Единственная проблема, которая у меня есть, состоит в том, что он не схватывает часовое использование правильно и отрицает у него 30 минут в час и складывает его час.

Ему удайтесь упорядочить это часа, что складывает остальные, но ему не удалось упорядочить 30 минут дополнительно, потому что, если я погружаю 30 минут, часы показывают час плохо.

Мое расписание - ВСЕОБЩЕЕ СКООРДИНИРОВАННОЕ ВРЕМЯ-4

Здесь я оставляю мой код

window.onload = date_time('date_time');


function date_time(id) {
  date = new Date; <!-- Obtiene el dia -->
  year = date.getFullYear();
  month = date.getMonth();
  months = new Array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
  d = date.getDate();
  day = date.getDay();
  days = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sabado');
  h = date.getHours() - 1;
  var session = "AM";

  if (h < 10) <!-- Si la hora es menor a 10, se le anade un 0 a la izquierda -->
  {
    h = "0" + h;
  }

  if (h >= 12 && session == "AM") {
    h = h - 11;
    session = "PM";
  }

  m = date.getMinutes();
  if (m < 10) <!-- Si los minutos son menores a 10, se le anade un 0 a la izquierda -->
  {
    m = "0" + m;
  }

  s = date.getSeconds();
  if (s < 10) <!-- Si los segundos son menores a 10, se le anade un 0 a la izquierda -->
  {
    s = "0" + s;
  }

  result = '' + days[day] + ',' + ' ' + d + ' ' + 'de ' + months[month] + ' ' + 'del' + ' ' + year + '' + ', ' + h + ':' + m + ':' + s + ' ' + session;
  document.getElementById(id).innerHTML = result;
  setTimeout('date_time("' + id + '");', '1000');
  return true;
}
body {
  background-image: url("imagenes/fondo_une.jpg")
}
<body>
  <center><span id="date_time"></span></center>

</body>
0
задан 19.03.2019, 14:57
1 ответ

попробуй это так:

возвращая стоимость в Ваше нормальное состояние. ты agrege выбор 2, который для format toLocaleString происходя с ним timezone желаемый в моем примере America/Bogota.

window.onload = date_time();

function date_time() {

date = new Date();
year = date.getFullYear();

month = date.getMonth();
months = new Array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
d = date.getDate();
day = date.getDay();
days = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sabado');
var session = "AM";

h = ("0" + date.getHours()).slice(-2); 
m = ("0" + date.getMinutes()).slice(-2);
s = ("0" + date.getSeconds()).slice(-2);

if (h >= 12) {
    h = h - 11;
    session = "PM";
}

result = `${days[day]}, ${d} de ${months[month]} del  ${year},  ${h}:${m}:${s} ${session}`;


time  = date.toLocaleString('en-US', { timeZone: 'America/Bogota', hour: 'numeric', minute: 'numeric', second: 'numeric',hour12: true });
result2 = `version 2: ${days[day]}, ${d} de ${months[month]} del  ${year}, ${time}`;

document.getElementById("date_time").innerText = result;
document.getElementById("date_time2").innerText = result2;
setTimeout(date_time, '1000');
return true;
}
body {
  background-image: url("imagenes/fondo_une.jpg")
}
<body>
  <center><span id="date_time"></span></center>
   <center><span id="date_time2"></span></center>
</body>

снабжает ссылками:
toLocaleString

0
ответ дан 02.12.2019, 05:27