1.简要了解下date对象的方法.
var d=new Date(); console.log(d.getDate());// 一个月中某一天 console.log(d.getDay());// 星期 console.log(d.getMonth());// 月份 console.log(d.getFullYear());// 返回年份 console.log(d.getTime());// 返回1970年至今的毫秒数
2.结合呼吸效果的时钟.网站里有很多朋友自己上手的纯css3时钟,这里主要是为了复习下date对象,就用js了.animation只是用在了呼吸效果上,有关于css3的transition和animation可以去看看张鑫旭大神的讲解的内容.
<!doctype html> <html> <head> <meta charset="utf-8"> <style> .main{ width:800px; height:500px; background: #333; border:1px solid #333; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; margin:60px auto; font-family:'微软雅黑',sans-serif; } .clock{ width:600px; height:150px; color: #3bffff; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; margin:150px auto; -webkit-animation-timing-function: linear;/*动画播放速度曲线*/ -webkit-animation-name: breathe; -webkit-animation-duration: 2000ms; -webkit-animation-iteration-count: infinite;/*动画播放次数*/ -webkit-animation-direction: alternate;/*动画是否反向播放*/ } @-webkit-keyframes breathe { 0% { opacity: .2; box-shadow:0 0 5px rgba(255,255,255,0.1);} 100% { opacity: 1;box-shadow:0 0 50px rgb(59, 255, 255);} } .days{ width:600px; height:75px; line-height:75px; font-size:3rem; text-align: center; display: block; } #time{ width:600px; height:75px; line-height:75px; font-size:2.5rem; text-align: center; } </style> <script> var t= null;// setTimeout调用自身可以做到setInvertal效果,但是不知道为什么要这样写,有了解的朋友希望能够解答下. t=setTimeout(getTime,1000); function getTime(){ var date=new Date(); var week = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六")[date.getDay()]; document.getElementById("mon").innerHTML=date.toLocaleDateString(); document.getElementById("days").innerHTML=week; document.getElementById("time").innerHTML = date.toLocaleTimeString();//这样写更方便,但是在火狐和IE上会显示上午,下午,不知道什么问题. t = setTimeout(getTime,1000); //设定定时器,循环执行 } </script> </head> <body> <div class="main"> <div class="clock"> <div class="days"> <span id="mon"></span> <span id="days"></span> </div> <div id="time"> </div> </div> </div> </body> </html>
3.倒计时,根据getTime()
<!doctype html> <html> <head> <meta charset="utf-8"> </head> <body> <div id="div1"></div> </body> <script> function time(){ var div1=document.getElementById('div1'); var date=new Date(); var nextTime=new Date('2018/06/05 ');// 此处需要改进 var t=nextTime.getTime()-date.getTime(); var d=Math.floor(t/1000/60/60/24); var h=Math.floor(t/1000/60/60%24); var m=Math.floor(t/1000/60%60); var s=Math.floor(t/1000%60); var str= new String(); str="距今还有"+d+"天"+m+"小时"+m+"分钟"+s+"秒"; div1.innerHTML=str; } setInterval(time,1000) </script> </html>
欢迎分享本文,转载请保留出处:前端ABC » Date对象,时钟和倒计时