2017-02-01 17 views
-1

私はgetHoursとgetMinutesを使用して、後の関数でそれらを使用しようとしています。問題は、私は常に最後の数字を3桁または4桁と2桁にしたいということです。何が起こるかは、分が0〜9の場合、1:04の結果は14です。これは私のコードであり、問​​題を解決しません。Javascript leading zero

$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; 
+3

JavaScriptがPHPではないので、あなたは変数を宣言する必要がありますすべてを '$ 'で始める理由はありません。とにかく、あなたは 'addZero'関数を呼び出すことは決してありません。また、あなたはそれを2回定義しています(両方の定義が同じことをしていますが)。 – Ryan

+0

これは私の問題を解決するでしょうか? –

+0

あなたが宣言した関数を使用すると、問題は解決します。 – Ryan

答えて

1

問題は、あなたが同じ名前の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; 
} 
0

あなたは二度同じ名前を使用して、機能を定義し、決しておそらくあなたは、この探している

それを呼びましたか?

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)