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

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

function nowTime(ev,type){/* * ev:顯示時間的元素 * type:時間顯示模式.若傳入12則為12小時制,不傳入則為24小時制 *///年月日時分秒var Y,M,D,W,H,I,S;//月日時分秒為單位時前面補零function fillZero(v){if(v<10){v='0'+v;}return v;}(function(){var d=new Date();var Week=['星期天','星期一','星期二','星期三','星期四','星期五','星期六']Y=d.getFullYear();M=fillZero(d.getMonth()+1);D=fillZero(d.getDate());W=Week[d.getDay()];H=fillZero(d.getHours());I=fillZero(d.getMinutes());S=fillZero(d.getSeconds());//12小時制顯示模式if(type && type==12){//若要顯示更多時間類型諸如中午淩晨可在下面添加判斷if(H<=12){H='上午 '+H;}else if(H>12 && H<24){H-=12;H='下午 '+fillZero(H);}else if(H==24){H='下午 00';}}ev.innerHTML=Y+'年'+M+'月'+D+'日 '+' '+W+' '+H+':'+I+':'+S;//每秒更新時間setTimeout(arguments.callee,1000);})();}

原文發佈於Mr.Think的部落格: http://mrthink.net/js-nowtime-12or24mode/ 轉載請註明出處.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.