网络编程 
首页 > 网络编程 > 浏览文章

JSP获取服务器时间以倒计时的形式在页面显示

(编辑:jimmy 日期: 2024/12/26 浏览:3 次 )
复制代码 代码如下:
<%@ 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>
上一篇:jsp实现页面实时显示当前系统时间的方法
下一篇:JSP页面中文参数的传递(get和post方法分析)
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。