0

I want to show if time is less than 10 hours or minute or seconds then, it time will show like "00", "01", "02","03"... but right now it showing "0", "1", "2", "3"...

CODE:

function startTime() {
  var today = new Date();
  var h = today.getHours();
  var m = today.getMinutes();
  var s = today.getSeconds();
  document.getElementById('label').innerHTML = h + ":" + m + ":" + s;
  var t = setTimeout(startTime, 500);
}
<body onload="startTime()">
  <div id="label"></div>
</body>

check seconds

Pranav C Balan
  • 113,687
  • 23
  • 165
  • 188
Mahendra Kulkarni
  • 1,437
  • 2
  • 26
  • 35

4 Answers4

2

this help you :

<html>
<head>
   <meta charset="utf-8">
</head>
    <body onload="startTime()">
        <div id="label"></div>
     <script>
         function startTime() {
             var today = new Date();
             var h = today.getHours();
             var m = today.getMinutes();
             var s = today.getSeconds();
             if (h < 10 ) { h = "0" + h;}
             if (m < 10 ) {m = "0" + m;}
             if (s < 10 ) {s = "0" + s;}      
             document.getElementById('label').innerHTML = h + ":" + m + ":" + s;
             var t = setTimeout(startTime, 500);
         }
        </script>
    </body>
</html>

Or use this code :

<html>
<head>
   <meta charset="utf-8">
    <style>
    </style>
</head>
    <body onload="startTime()">
       <div id="label"></div>
        <script>
           function startTime() {
               var today = new Date();
               var h = today.getHours();
               var m = today.getMinutes();
               var s = today.getSeconds();
                h = (h < 10 ) ? ("0" + h) : h;
                m = (m < 10 ) ? ("0" + m) : m;
                s = (s < 10 ) ? ("0" + s) : s;               
                document.getElementById('label').innerHTML = h + ":" + m + ":" + s;
                var t = setTimeout(startTime, 500);
           }
        </script>
    </body>
</html>
Ehsan
  • 12,655
  • 3
  • 25
  • 44
1

Do something tricky with String#slice() method

function startTime() {
  var today = new Date();
  var h = today.getHours();
  var m = today.getMinutes();
  var s = today.getSeconds();
  document.getElementById('label').innerHTML = ('0' + h).slice(-2) + ":" + ('0' + m).slice(-2) + ":" + ('0' + s).slice(-2);
  var t = setTimeout(startTime, 500);
}
<body onload="startTime()">
  <div id="label"></div>
</body>
Pranav C Balan
  • 113,687
  • 23
  • 165
  • 188
1
function startTime() {
  var today = new Date();
  var h = today.getHours();
  var m = today.getMinutes();
  var s = today.getSeconds();
  //====Add this=======
    if(h<10){ h = '0' + h; }
    if(m<10){ m = '0' + m; }
    if(s<10){ s = '0' + s; }
  //===================
  document.getElementById('label').innerHTML = h + ":" + m + ":" + s;
  var t = setTimeout(startTime, 500);
}
Tornike Shavishvili
  • 1,244
  • 4
  • 16
  • 35
0
function pad (str) {
  str = str.toString();
  return str.length < 2 ? "0" + str : str;
}

Simply use this function for hours, minutes whatever.

h = pad(h);
m = pad(m);
s = pad(s);
phreakv6
  • 2,135
  • 1
  • 9
  • 11