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

前端技术 2023/09/09 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>

本文地址:https://www.stayed.cn/item/26170

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。