JSP獲取服務器時間,頁面倒計時顯示

<%@ page language="java" import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ include file="/commons/meta.jsp"%>
<%@ include file="/commons/meta-et.jsp"%>
<% 
	Calendar cal = Calendar.getInstance(); 
	int hour = cal.get(cal.HOUR_OF_DAY); 
	int minute = cal.get(cal.MINUTE); 
	int month = cal.get(cal.MONTH); 
	int date = cal.get(cal.DATE); 
	int year = cal.get(cal.YEAR); 
	int second = cal.get(cal.SECOND); 
%>
<script type="text/javascript" defer="defer">
	var NowHour = "";//Today.getHours(); 
	var NowMinute = "";//Today.getMinutes(); 
	var NowMonth = "";//Today.getMonth(); 
	var NowDate = "";//Today.getDate(); 
	var NowYear = "";//Today.getYear(); 
	var NowSecond = "";//Today.getSeconds(); 
	//獲取服務端時間 
	function getTime(){	 
		NowHour = <%=hour%>;
		NowMinute = <%=minute%>;
		NowMonth = <%=month%>;
		//NowMonth = (parseInt(NowMonth)+1); 
		NowDate = <%=date%>;
		NowYear = <%=year%>;
		NowSecond = <%=second%>;
	} 
	getTime(); 
	startclock(); 
	var timerID = null; 
	var timerRunning = false; 
	function showtime() {
		
		var time='${enddate}';//獲取數據庫中結束時間或開始時間,然後開始計算離開始或結束還差多少時間
		NowSecond = (parseInt(NowSecond)+1); 
		//-------------------------------------------------------------------
		var a, a1, a2;
		var EndTime ;
		a = unescape('${enddate}').split(" ");  //這是註釋,此句是倒計時準確度的關鍵,調整成其他需要的時間即可,例如2012-12-20等。
		if(a.length > 1){
			a1 = a[0].split("-");
			a2 = a[1].split(":");
			EndTime= new Date(a1[0], a1[1] - 1, a1[2], a2[0], a2[1],a2[2]);
		}
 		var NowTime= new Date(NowYear,NowMonth,NowDate,NowHour,NowMinute,NowSecond);
 		var nMS =EndTime.getTime() - NowTime.getTime();
		var nD =Math.floor(nMS/(1000 * 60 * 60 * 24));
		var nH=Math.floor(nMS/(1000*60*60)) % 24;
		var nM=Math.floor(nMS/(1000*60)) % 60;
		var nS=Math.floor(nMS/1000) % 60;
		var dddd= nD+'-'+nH+'-'+nM+'-'+nS;

		if(nD>= 0){
			document.getElementById('RemainD').innerText = nD;
			document.getElementById('RemainH').innerText = nH;
			document.getElementById('RemainM').innerText = nM;
			document.getElementById('RemainS').innerText = nS;
		}else {
			document.getElementById('CountMsg').innerText="所有時間到!"; 
		}
		setTimeout("showtime()", 1000); 
	} 
	function startclock() { 
		showtime(); //調用計算時間差方法,並顯示 
	}
</script>
</head>
<body>
<div id="CountMsg">
				距離結束還剩<font color="red" size=5><strong id="RemainD">XX</strong>天<strong id="RemainH">XX</strong>時<strong id="RemainM">XX</strong>分<strong id="RemainS">XX</strong>秒</font>
</div>
</body>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章