Некорректный вывод времени JavaScript

96
19 декабря 2021, 02:00

При выводе часов, минут и секунд , от 0 и до 10 данные выводятся одиночными цифрами , то есть 23:12:5 или 23:5:20, а нужно что бы было 23:12:05 или 23:05:20 Как это реализовать? Пробовал преобразовать все в строку и через .padStart и через .slice , но ничего нормального не получилось.

function time() { 
  var date = new Date(); 
  var hours = date.getHours(); 
  var minutes = date.getMinutes(); 
  var seconds = date.getSeconds(); 
  document.getElementById('clock').innerHTML = hours + ":" + minutes + ":" + seconds; 
} 
setInterval('time()', 1000);
<h1 id="clock"> 
</h1>

Answer 1

Один из вариантов решения:

function zero_pad(input)
{
    return input >= 10 ? input : "0" + input;
}

Пример использования:

document.getElementById('clock').innerHTML = zero_pad(hours) + ":" + zero_pad(minutes) + ":"
    + zero_pad(seconds);

Или, как уже ответил в комментарии @andreymal

seconds.toString().padStart(2, '0')

Кстати, не передавайте setInterval строку 'time()'. Передавайте функцию:

setInterval(time, 1000);
READ ALSO
Как объединить 2 (option) в фильтре чтобы выводилась нужные статьи из бд

Как объединить 2 (option) в фильтре чтобы выводилась нужные статьи из бд

Здравствуйте! Я мало что понимаю в mySQL, но так вышло, что я с ним связался

211
Безопасно ли хранить пароль и логин в js?

Безопасно ли хранить пароль и логин в js?

Есть общий 'login-layout' компонент который роутит другие компоненты :

83
Плавная смена картинки через атрибут src js

Плавная смена картинки через атрибут src js

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

80
Загрузить файл в input[file] по ссылке на кариинку

Загрузить файл в input[file] по ссылке на кариинку

Как мне, зная ссылку на файл, (например, http://host/filepath/filenamepng) загрузить его в input[file] для отправки на сервер?

118