求一个JS或AJAX的倒计时,要求时间从数据库里提取
现在再做一个类似拍卖的网页,想要一个淘宝那样的倒计时,记录商品还有多少时间下架。我现在会写倒计时,但是老师要求是从数据库中提出物品时间再做倒计时!!!我是个菜鸟,不怎么会...
现在再做一个类似拍卖的网页,想要一个淘宝那样的倒计时,记录商品还有多少时间下架。
我现在会写倒计时,但是老师要求是从数据库中提出物品时间再做倒计时!!!
我是个菜鸟,不怎么会,请教各位达人有何良策?
数据库中:有上传时间uploadTime和结束时间endDate的值
求达人给个参考代码,万分感谢!!! 展开
我现在会写倒计时,但是老师要求是从数据库中提出物品时间再做倒计时!!!
我是个菜鸟,不怎么会,请教各位达人有何良策?
数据库中:有上传时间uploadTime和结束时间endDate的值
求达人给个参考代码,万分感谢!!! 展开
4个回答
展开全部
以下是servlet
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
try {
if ("submit".equals(request.getParameter("action"))) {
//交卷
//TODO:这里做交卷处理
out.println("已交卷");
} else {
//倒计时
//设置结束时间
Calendar timeend = Calendar.getInstance();
timeend.set(2008, 10, 7, 14, 50, 0);
long end = timeend.getTimeInMillis();
//out.print(sdf.format(timeend.getTime())+"<br>");
//获取当前时间
Calendar rightNow = Calendar.getInstance();
//out.print(sdf.format(rightNow.getTime())+"<br>");
long now = rightNow.getTimeInMillis();
//计算剩余时间
int left = (int) (end - now);
if (left <= 0) {
//时间到
out.print("over");
} else {
int leftHour = left / (1000 * 60 * 60);
left = left % (1000 * 60 * 60);
int leftMinute = left / (1000 * 60);
left = left % (1000 * 60);
int leftSecond = left / (1000);
out.print(leftHour + "时" + leftMinute + "分" + leftSecond + "秒");
}
}
} finally {
out.close();
}
以下是html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="../js/jquery.js" type="text/javascript"></script>
<script type="text/JavaScript">
$(document).ready(function(){
setInterval(getLeftTime,1000);
});
//得到剩余时间
function getLeftTime(){
$.get("/jquery/TimeServlet?",function(data){
if(data=="over"){
//window.location="../index.jsp";
$("#paperform").submit();
}
else{
$("#nowis").text(data);
}
});
}
</script>
</head>
<body>
<div id="nowis" ></div>
<form id="paperform" method="POST" action="/jquery/TimeServlet?action=submit">
</form>
</body>
</html>
其实你说的只是在servlet中处理时间,无非是拿到数据库中时间的字段,然后++--,然后set 然后就OK ,不懂继续问
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
try {
if ("submit".equals(request.getParameter("action"))) {
//交卷
//TODO:这里做交卷处理
out.println("已交卷");
} else {
//倒计时
//设置结束时间
Calendar timeend = Calendar.getInstance();
timeend.set(2008, 10, 7, 14, 50, 0);
long end = timeend.getTimeInMillis();
//out.print(sdf.format(timeend.getTime())+"<br>");
//获取当前时间
Calendar rightNow = Calendar.getInstance();
//out.print(sdf.format(rightNow.getTime())+"<br>");
long now = rightNow.getTimeInMillis();
//计算剩余时间
int left = (int) (end - now);
if (left <= 0) {
//时间到
out.print("over");
} else {
int leftHour = left / (1000 * 60 * 60);
left = left % (1000 * 60 * 60);
int leftMinute = left / (1000 * 60);
left = left % (1000 * 60);
int leftSecond = left / (1000);
out.print(leftHour + "时" + leftMinute + "分" + leftSecond + "秒");
}
}
} finally {
out.close();
}
以下是html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="../js/jquery.js" type="text/javascript"></script>
<script type="text/JavaScript">
$(document).ready(function(){
setInterval(getLeftTime,1000);
});
//得到剩余时间
function getLeftTime(){
$.get("/jquery/TimeServlet?",function(data){
if(data=="over"){
//window.location="../index.jsp";
$("#paperform").submit();
}
else{
$("#nowis").text(data);
}
});
}
</script>
</head>
<body>
<div id="nowis" ></div>
<form id="paperform" method="POST" action="/jquery/TimeServlet?action=submit">
</form>
</body>
</html>
其实你说的只是在servlet中处理时间,无非是拿到数据库中时间的字段,然后++--,然后set 然后就OK ,不懂继续问
展开全部
1、从数据库取时间,这个可以用JDBC代码完成,假设取到了uploadTime和endDate,存在变量中。这段代码属于服务器端code
2、前台页面如何获取呢,需要用ajax机制,请求服务器code(1中提到的),返回uploadTime和endDate,有了这2个时间,就好办了。
3、倒计时的实现,endDate减去current system,就是还剩多少time下架,JS的实现就是利用定时函数搞定。
4、uploadTime就是个展示作用,具体实现代码好多,去图书馆或网上copy点就OK了
2、前台页面如何获取呢,需要用ajax机制,请求服务器code(1中提到的),返回uploadTime和endDate,有了这2个时间,就好办了。
3、倒计时的实现,endDate减去current system,就是还剩多少time下架,JS的实现就是利用定时函数搞定。
4、uploadTime就是个展示作用,具体实现代码好多,去图书馆或网上copy点就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你会写倒计时就很好办了
帮你分析下这个程序的思路:
其实商品离下架的倒计时只需要商品下架时间endDate和当前时间DateTime.Now
你得到两者之间的时间差,然后用到你的倒计时代码中即可。
以下是具体要做的事情:
1.用asp.net获取你的商品结束时间endDate,
2.然后在客户端得到这个endDate,
3.把endDate用到你的倒计中让它运行就OK了
帮你分析下这个程序的思路:
其实商品离下架的倒计时只需要商品下架时间endDate和当前时间DateTime.Now
你得到两者之间的时间差,然后用到你的倒计时代码中即可。
以下是具体要做的事情:
1.用asp.net获取你的商品结束时间endDate,
2.然后在客户端得到这个endDate,
3.把endDate用到你的倒计中让它运行就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题用ajax做有点...倒不如搞个flash做了。 不过还是有办法用ajax做的。 你在浏览器端写个ajax,它... 在服务器端用PHP脚本写个程序,它只需要发送当前的系统时间或者是倒计时处理后的时间就可以。ajax对象每1....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询