当前位置:首页 >> 网络编程

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>