问答详情
源自:8-3 计时器setInterval()

如何让分钟数为一位时显示两位数?

假如现在的时间为16:02:01,用下面的代码写出来的话显示的是:16:2:1,该如何解决显示为:16:02:01?

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
<title>window对象</title>
<script type="text/javascript">
var attime;
setInterval(clock2,1000);//这里的秒数指的是调用函数的时间间隔,也可理解为刷新时间
function clock2()
{
   var time=new Date();          
   attime=time.getHours()+":"+time.getMinutes()+":"+time.getSeconds();
   document.getElementById("clock").value = attime;
 }
</script>
</head>
<body>
<input type="text" id="clock" size="10">
</body>
</html>


提问者:折翼天使I 2016-10-24 16:18

个回答

  • 慕粉3673019
    2016-10-24 20:27:02
    已采纳

    function clock2()

    {

       var time=new Date();

       var seconds=time.getSeconds();   //定义个变量保存秒数

       if(seconds<10){seconds="0"+seconds}   //秒数前加个0       

       attime=time.getHours()+":"+time.getMinutes()+":"+seconds;  //这里别忘了改过来啊

       document.getElementById("clock").value = attime;

     }

    </s


  • qq_补钙雪_0
    2016-10-25 15:01:59

    <!DOCTYPE html>

    <html>

    <head>

        <meta charset="UTF-8">

    <title>window对象</title>

    <script type="text/javascript">

    var attime;

    setInterval(clock2,1000);//这里的秒数指的是调用函数的时间间隔,也可理解为刷新时间

    function clock2()

    {

       var time=new Date();          

     attime=("0"+time.getHours()).slice(-2)+":"+("0"+time.getMinutes()).slice(-2)+":"+("0"+time.getSeconds()).slice(-2);

       document.getElementById("clock").value = attime;

     }

    </script>

    </head>

    <body>

    <input type="text" id="clock" size="10">

    </body>

    </html>


  • qq_补钙雪_0
    2016-10-24 19:00:23



    time.getHours()变成

    ("0”+time.getHours()).slice(-2)

    /*"0”+time.getHours()这是为了让两位数现实成三位数(0??),让一位数现实成两位数(0?),两位数需要显示(??),一位数需要显示(0?),这表示他们都是显示出从倒数第二位到最后一位,所以输出("0”+time.getHours()).slice(-2)*/


    time.getMinutes()

    变成

    ("0”+time.getMinutes()).slice(-2)


    time.getSeconds

    变成

    ("0”+time.getSeconds()).slice(-2);