虽说这两个小功能,网上一抓一大把吧,但是呢:
1、自己从来没有好好写过类似功能,也没琢磨过;
2、网上虽有但每次都要找啊;
不如自己写个现成的,有需要了就来这里找,有问题了就来这里改进,顺道琢磨琢磨。废话不多说,上代码。
window.onload=function(){ //showTime();//显示当前时间 //countDownForDay();//天倒计时 coutDownForDate();//天时分秒倒计时 } //该方法用来显示时间 function showTime(){ var now = new Date();//获取当前时间 var year = now.getFullYear();//年 var month = now.getMonth()+1;//月 var day = now.getDate();//日 //星期 var week = now.getDay(); var weekend = new Array(); weekend[0]="日"; weekend[1]="一"; weekend[2]="二"; weekend[3]="三"; weekend[4]="四"; weekend[5]="五"; weekend[6]="六"; var hour = now.getHours();//时 var minute = now.getMinutes();//分 var second = now.getSeconds();//秒 //为分和秒补零 minute = checkTime(minute); second = checkTime(second); document.getElementById("show").innerHTML="当前时间:"+year+"年"+month+"月"+day+"日"+" 星期"+weekend[week]+" "+hour+":"+minute+":"+second; setTimeout(showTime,500);//500毫秒执行一次 } /** *该方法用来解决“分秒为1位数以下时自动添加零变成2位数”的问题 *@param value:需要补零的值 */ function checkTime(value){ value = parseInt(value,10); if(value<10){ value = "0"+value; } return value; } //天倒计时 function countDownForDay(){ var startTime = new Date().getTime(); var endTime = new Date("2016,12,31").getTime(); var diff = endTime-startTime;//相差毫秒数 //转换成天数 diff = Math.ceil(diff/(24*60*60*1000));//1天=24小时 1小时=60分 1分=60秒 1秒=1000毫秒 document.getElementById("show2").innerHTML="距离过年还有:"+diff+"天"; } //日期倒计时 function coutDownForDate(){ var startTime = new Date().getTime();//开始时间 var endTime = new Date("2016/12/31,23:59:59");//结束时间 var diffTime = parseInt((endTime-startTime)/1000,10);//得到两个时间差的秒数 //根据秒数来计算天、时、分、秒 var day = parseInt(diffTime/(24*60*60),10);//1天=24小时 1小时=60分 1分=60秒 //1小时=60分 1分=60秒,diffTime/(60*60)=所有的秒数用小时来表示有多少个小时 //再%24,整除部分(商)作为整天算到天的计时了,余数部分也就是小时的计时了 //再取个整,被抹去的小时数会自动算到分里面,分中被抹去的会计算到秒中 var hour = parseInt((diffTime/(60*60))%24,10);//小时 var minute = parseInt((diffTime/60)%60,10);//分钟:先计算成总共有多少分钟,再取分钟的余数 var second = diffTime%60;//秒:本来就是秒,直接获取最后剩下的秒就好了 var timeOut=null; if(diffTime>0){//有差值才显示,否则不显示 document.getElementById("show3").innerHTML="距离过年还有:"+day+"天"+hour+"小时"+minute+"分"+second+"秒"; //自动刷新 timeOut = setTimeout(coutDownForDate,500); }else{ document.getElementById("show3").innerHTML="去年已结束,新年已来临"; clearTimeout(timeOut); } }