JS实现获取当前时间和倒计时功能

虽说这两个小功能,网上一抓一大把吧,但是呢:

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);
	}
}

猜你喜欢

转载自1017401036.iteye.com/blog/2308092