Java中是否有类似.Net中的timer控件? 正在做一个考试系统,需要实现时间倒计时的功能刚转回做JAVA不久,一时半会没想到啥方法,做过的达人们请不吝赐教,十分感谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 提个做法不知道可行不, 考试开始时 获取系统时间start 如果考试时间为2个小时 就取total=start+2然后倒计时 显示 就可以用total-系统当前时间就是,不知道1秒1刷新会不会有问题 如果用jsp写页面的话网上可以找到时间控件 如果用zk的话它自带时间控件date和time 网上应该有javascript写的时钟,找找呢。1秒1刷新会,会把考试人的答案刷掉吧? JAVA有自带的控件的java.util.Timer,使用这个可以做一些简单的任务处理比如:public class TestTimerTask extends TimerTask{ public void run(){ doCommit(); // 提交试卷 }}// timer有下面这个方法timer = new Timer(); timer.schedule(new TestTimerTask(), 结束时间);这样好像可以吧 感谢LS各位的回复,我先去找找现成的JS能实现不 刚找的!<html><head><title>倒计时测试</title><b>今天距离2010年8月5日还有</b><br><script language="JavaScript"><!-- 隐藏脚本从旧的浏览器var DifferHour = -1var DifferMinute = -1var DifferSecond = -1var Tday1 = new Date("Aug 5, 2010 20:00:00") //**倒计时时间-注意格式var daysms = 24 * 60 * 60 * 1000var hoursms = 60 * 60 * 1000var Secondms = 60 * 1000var microsecond = 1000function clock(){ var time = new Date() var hour = time.getHours() var minute = time.getMinutes() var second = time.getSeconds() var timevalue = ""+((hour > 12) ? hour-12:hour) timevalue +=((minute < 10) ? ":0":":")+minute timevalue +=((second < 10) ? ":0":":")+second timevalue +=((hour >12 ) ? " PM":" AM") var convertHour = DifferHour var convertMinute = DifferMinute var convertSecond = DifferSecond var Diffms = Tday1.getTime() - time.getTime() DifferHour = Math.floor(Diffms / daysms) Diffms -= DifferHour * daysms DifferMinute = Math.floor(Diffms / hoursms) Diffms -= DifferMinute * hoursms DifferSecond = Math.floor(Diffms / Secondms) Diffms -= DifferSecond * Secondms var dSecs = Math.floor(Diffms / microsecond) if(convertHour != DifferHour) document.formnow.dd.value=DifferHour if(convertMinute != DifferMinute) document.formnow.hh.value=DifferMinute if(convertSecond != DifferSecond) document.formnow.mm.value=DifferSecond document.formnow.ss.value=dSecs document.formnow.ss.value=dSecs// document.formnow.Tnow.value= DifferHour DifferMinute + DifferSecond + dSecssetTimeout("clock()",1000)}// 隐藏--></script></head><body onload="clock();return true" text="red"><form name="formnow"><input name="dd" type="text" style="border:0;" size=2>天<input name="hh" type="text" style="border:0;" size=2>小时<input name="mm" type="text" style="border:0;" size=2>分<input name="ss" type="text" style="border:0;" size=2>秒</form></body></html> http://blog.csdn.net/mikemoon/archive/2010/02/09/5302043.aspx用这个可以做到想要的功能 读取下载数据库中byte[] 文件 100分求解!!java调用第三方dll中的函数 纯java代码中如何配置字符集 service层不调用dao层,大侠们帮帮忙! 求助,关于上传文件,尤其是上传照片的程序问题 如何在IDL中定义使用Java中的类? 运行出错:struts+eclipse+tomcat5.0 Struts标签的问题~!救助 sp2(windows 2000) 怎么装? 用IE打开*.xml文件的错误。。。。。。 ssh下的一个错误。大家指点下 紧张。要面试了 会问什么问题呢
然后倒计时 显示 就可以用total-系统当前时间就是,不知道1秒1刷新会不会有问题
1秒1刷新会,会把考试人的答案刷掉吧?
java.util.Timer,使用这个可以做一些简单的任务处理
比如:
public class TestTimerTask extends TimerTask{ public void run(){
doCommit();
// 提交试卷
}
}// timer有下面这个方法
timer = new Timer();
timer.schedule(new TestTimerTask(), 结束时间);
这样好像可以吧
<html>
<head>
<title>倒计时测试</title>
<b>今天距离2010年8月5日还有</b><br>
<script language="JavaScript"><!-- 隐藏脚本从旧的浏览器
var DifferHour = -1
var DifferMinute = -1
var DifferSecond = -1
var Tday1 = new Date("Aug 5, 2010 20:00:00") //**倒计时时间-注意格式
var daysms = 24 * 60 * 60 * 1000
var hoursms = 60 * 60 * 1000
var Secondms = 60 * 1000
var microsecond = 1000
function clock()
{
var time = new Date()
var hour = time.getHours()
var minute = time.getMinutes()
var second = time.getSeconds()
var timevalue = ""+((hour > 12) ? hour-12:hour)
timevalue +=((minute < 10) ? ":0":":")+minute
timevalue +=((second < 10) ? ":0":":")+second
timevalue +=((hour >12 ) ? " PM":" AM")
var convertHour = DifferHour
var convertMinute = DifferMinute
var convertSecond = DifferSecond
var Diffms = Tday1.getTime() - time.getTime()
DifferHour = Math.floor(Diffms / daysms)
Diffms -= DifferHour * daysms
DifferMinute = Math.floor(Diffms / hoursms)
Diffms -= DifferMinute * hoursms
DifferSecond = Math.floor(Diffms / Secondms)
Diffms -= DifferSecond * Secondms
var dSecs = Math.floor(Diffms / microsecond)
if(convertHour != DifferHour) document.formnow.dd.value=DifferHour
if(convertMinute != DifferMinute) document.formnow.hh.value=DifferMinute
if(convertSecond != DifferSecond) document.formnow.mm.value=DifferSecond
document.formnow.ss.value=dSecs
document.formnow.ss.value=dSecs
// document.formnow.Tnow.value= DifferHour DifferMinute + DifferSecond + dSecs
setTimeout("clock()",1000)
}
// 隐藏-->
</script>
</head>
<body onload="clock();return true" text="red">
<form name="formnow">
<input name="dd" type="text" style="border:0;" size=2>
天
<input name="hh" type="text" style="border:0;" size=2>
小时
<input name="mm" type="text" style="border:0;" size=2>
分
<input name="ss" type="text" style="border:0;" size=2>
秒
</form>
</body>
</html>
用这个可以做到想要的功能