建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

JS实现动态显示当前时间(12/24小时制)

时间:2011-03-11 09:32来源: 作者: 点击:
下面代码可以动态显示当前时间12/24小时制均可。 效果如下:   很简单的一个功能函数,用Date()对象获取到当前时间,然后用setTimeout每隔1秒获取最新的时间. 写的过程中碰到过一个小小的问题: 我最初的想法是用setInterval()每隔1秒获取最新时间,可是可以,但setInterv

下面代码可以动态显示当前时间12/24小时制均可。

效果如下:

 

很简单的一个功能函数,用Date()对象获取到当前时间,然后用setTimeout每隔1秒获取最新的时间.
写的过程中碰到过一个小小的问题: 我最初的想法是用setInterval()每隔1秒获取最新时间,可是可以,但setInterval如果放在主函数内部,但导致内存泄漏(至于原因,暂时还没想明白),后来在Rocky的提醒下用setTimeout()才解决内存泄漏问题

01 function nowTime(ev,type){
02     /*
03      * ev:显示时间的元素
04      * type:时间显示模式.若传入12则为12小时制,不传入则为24小时制
05      */
06     //年月日时分秒
07     var Y,M,D,W,H,I,S;
08     //月日时分秒为单位时前面补零
09     function fillZero(v){
10         if(v<10){v='0'+v;}
11         return v;
12     }
13     (function(){
14         var d=new Date();
15         var Week=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];
16         Y=d.getFullYear();
17         M=fillZero(d.getMonth()+1);
18         D=fillZero(d.getDate());
19         W=Week[d.getDay()];
20         H=fillZero(d.getHours());
21         I=fillZero(d.getMinutes());
22         S=fillZero(d.getSeconds());
23         //12小时制显示模式
24         if(type && type==12){
25             //若要显示更多时间类型诸如中午凌晨可在下面添加判断
26             if(H<=12){
27                 H='上午 '+H;
28             }else if(H>12 && H<24){
29                 H-=12;
30                 H='下午 '+fillZero(H);
31             }else if(H==24){
32                 H='下午 00';
33             }
34         }
35         ev.innerHTML=Y+'年'+M+'月'+D+'日 '+' '+W+' '+H+':'+I+':'+S;
36         //每秒更新时间
37         setTimeout(arguments.callee,1000);
38     })();
39
(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片