JS實現動態顯示目前時間(12/24小時制)

來源:互聯網
上載者:User

今天又要用到動態顯示目前時間,且要求可以切換24/12小時制, 記得很久前寫過一個24小時制的,但一時沒能找著, 於是又重新寫了個,若有需要的朋友自行複製粘貼一份吧.
很簡單的一個功能函數,實現方式不多言,用Date()對象擷取到目前時間,然後用setTimeout每隔1秒擷取最新的時間.
寫的過程中碰到過一個小小的問題: 我最初的想法是用setInterval()每隔1秒擷取最新時間,可是可以,但setInterval如果放在主函數內部,但導致記憶體流失(至於原因,暫時還沒想明白),後來在Rocky的提醒下用setTimeout()才解決記憶體流失問題,感謝Rocky同學:)
核心代碼及示範

view sourceprint?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 }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.