Javascript 前导零

Javascript leading zero

我正在尝试使用 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;

您使用相同的名称定义了两次函数并且从未调用它

也许您正在寻找这个?

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)

问题是你有两个同名的函数,但你从来没有调用过那个函数:

$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;
}