Java中是否有类似.Net中的timer控件?

神之泪花 2010-02-24 01:34:37
正在做一个考试系统,需要实现时间倒计时的功能
刚转回做JAVA不久,一时半会没想到啥方法,
做过的达人们请不吝赐教,十分感谢
...全文
262 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_pop 2010-08-14
  • 打赏
  • 举报
回复
谢谢,太好了
中国匠心 2010-02-24
  • 打赏
  • 举报
回复
Z_FEI 2010-02-24
  • 打赏
  • 举报
回复
刚找的!
<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>
LuffySY 2010-02-24
  • 打赏
  • 举报
回复
类似的控件 肯定能找到的
神之泪花 2010-02-24
  • 打赏
  • 举报
回复
感谢LS各位的回复,我先去找找现成的JS能实现不
weidong0088 2010-02-24
  • 打赏
  • 举报
回复
JAVA有自带的控件的
java.util.Timer,使用这个可以做一些简单的任务处理
比如:
public class TestTimerTask extends TimerTask{

public void run(){
doCommit();
// 提交试卷
}
}

// timer有下面这个方法
timer = new Timer();
timer.schedule(new TestTimerTask(), 结束时间);
这样好像可以吧
lisl2003 2010-02-24
  • 打赏
  • 举报
回复
引用 1 楼 luffysy 的回复:
提个做法不知道可行不, 考试开始时 获取系统时间start 如果考试时间为2个小时 就取total=start+2
然后倒计时 显示 就可以用total-系统当前时间就是,不知道1秒1刷新会不会有问题

网上应该有javascript写的时钟,找找呢。
1秒1刷新会,会把考试人的答案刷掉吧?
Y_2716 2010-02-24
  • 打赏
  • 举报
回复
引用 1 楼 luffysy 的回复:
提个做法不知道可行不, 考试开始时 获取系统时间start 如果考试时间为2个小时 就取total=start+2
然后倒计时 显示 就可以用total-系统当前时间就是,不知道1秒1刷新会不会有问题


一楼的方法应该可以,也不要什么时间控件,一秒刷新一次也差不多
colin_pxx 2010-02-24
  • 打赏
  • 举报
回复
如果用jsp写页面的话网上可以找到时间控件 如果用zk的话它自带时间控件date和time
LuffySY 2010-02-24
  • 打赏
  • 举报
回复
提个做法不知道可行不, 考试开始时 获取系统时间start 如果考试时间为2个小时 就取total=start+2
然后倒计时 显示 就可以用total-系统当前时间就是,不知道1秒1刷新会不会有问题

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧