Javascript с начальным нулем

Я пытаюсь использовать getHours и getMinutes, чтобы использовать их в более поздних функциях. Проблема в том, что я всегда хочу, чтобы окончательный номер был 3 или 4 цифрой и 2 цифрой. Что происходит, когда минуты 0-9, результат 1:04 равен 14. Это мой код, и он не решает проблему.

    $hours = (new Date).getHours(),
    $mins = (new Date).getMinutes();
    function addZero($hours) {
      if ($hours < 10) {
        $hours = "0" + $hours;
      }
      return $hours;
    }
    function addZero($mins) {
      if ($mins < 10) {
        $mins = "0" + $mins;
      }
      return $mins;
    }
    $nowTimeS = $hours + "" + $mins;


    // Convert string with now time to int
    $nowTimeInt = $nowTimeS;

person Jim Kalligas    schedule 01.02.2017    source источник
comment
JavaScript — это не PHP, поэтому вам нужно объявлять свои переменные, и нет причин начинать каждую с $. В любом случае, вы никогда не вызываете функцию addZero, и вы также определяете ее дважды (хотя оба определения делают одно и то же).   -  person Ry-♦    schedule 01.02.2017
comment
И решит ли это мою проблему?   -  person Jim Kalligas    schedule 01.02.2017
comment
Использование объявленной вами функции решит вашу проблему, да.   -  person Ry-♦    schedule 01.02.2017


Ответы (2)


Проблема в том, что у вас есть две функции с одинаковым именем, но вы никогда не вызываете эту функцию:

$date = new Date();
$hours = $date.getHours(),
$mins = $date.getMinutes();

$nowTimeS = addZero($hours) + "" + addZero($mins);

// Convert string with now time to int
$nowTimeInt = $nowTimeS;


function addZero($time) {
  if ($time < 10) {
    $time = "0" + $time;
  }

  return $time;
}
person Justinas    schedule 01.02.2017

Вы дважды определили свою функцию, используя одно и то же имя, и никогда не вызывали ее.

Возможно, вы ищете это?

function pad(num) {
  return ("0"+num).slice(-2);
}
var d = new Date(),
    hours = d.getHours(),
    mins = d.getMinutes(),
    nowTimeS = pad(hours) + ":" + pad(mins);
console.log(nowTimeS)

person mplungjan    schedule 01.02.2017