时钟实现
实现这个时钟时间需要解决以下三个问题:
- 获得当前时间,并格式化
- 如何可以在页面中显示时间
- 让时间动起来
1、获得当前时间,并格式化
要获得当前时间,可以使用JavaSctipt的Date对象,默认构造函数会返回当前时间。存储日期为自 1970 年 1 月 1 日 00:00:00以来的毫秒数。
setXxx 这些方法用于设置时间和日期值
getXxx 这些方法用于获取时间和日期值
实现代码如下:
function getnow(){ //1、获得当前时间,格式化时间 var now=new Date(); var year=now.getFullYear(); var month=now.getMonth()+1; if(month<10){ month="0"+month; } var date=now.getDate(); if(date<10){ date="0"+date; } var hour=now.getHours(); if(hour<10){ hour="0"+hour; } var minute=now.getMinutes(); if(minute<10){ minute="0"+minute; } var second=now.getSeconds(); if(second<10){ second="0"+second; } var nowstr=year+"年"+month+"月"+date+"日 "+hour+":"+minute+":"+second; alert(nowstr); }
在body标签中使用onLoad事件绑定这个函数,使页面一加载就运行这个时钟。
<body οnlοad="getnow()"> </body>
运行代码就可以看到如下效果:
2、如何可以在页面中显示时间
目的当然不是要通过弹出框的方式显示时间,而是让他在页面中显示,可以在页面中定义一个span标签显示时间,如何可以使用JavaScript操作标签的内容呢?这里就需要用到内置对象document了,它提供了一个getElementById方法,可以根据id获得标签对象,然后就可以修改这个对象了。现在doby中顶一个一个span对象,并定义id属性,值为nowspan,代码如下:
<body οnlοad=" <span id="nowspan" > </span> </body>
修改上面的javascript代码,获得这个对象并把格式化好的时间赋给它。
// alert(nowstr); //2、显示时间 html //获得标签对象 var nowspan=document.getElementById("nowspan"); nowspan.innerHTML=nowstr;
3、让时间动起来
要让时间动起来可以使用setTimeout("函数",毫秒数) 设置定时器:经过指定毫秒值后执行某个函数。实现代码如下:
//3、使时间动起来 setTimeout("getnow()", 1000);
完整代如下:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Test</title> </head> <script type="text/javascript"> function getnow(){ //1、获得当前时间,格式化时间 var now=new Date(); var year=now.getFullYear(); var month=now.getMonth()+1; if(month<10){ month="0"+month; } var date=now.getDate(); if(date<10){ date="0"+date; } var hour=now.getHours(); if(hour<10){ hour="0"+hour; } var minute=now.getMinutes(); if(minute<10){ minute="0"+minute; } var second=now.getSeconds(); if(second<10){ second="0"+second; } var nowstr=year+"年"+month+"月"+date+"日 "+hour+":"+minute+":"+second; //alert(nowstr); //2、显示时间 html //获得标签对象 var nowspan=document.getElementById("nowspan"); nowspan.innerHTML=nowstr; //3、使时间动起来 setTimeout("getnow()", 1000); } </script> <body onLoad="getnow()"> <span id="nowspan" /> </body> </html>
运行代码效果: