正在做一个考试系统,需要实现时间倒计时的功能
刚转回做JAVA不久,一时半会没想到啥方法,
做过的达人们请不吝赐教,十分感谢

解决方案 »

  1.   

    提个做法不知道可行不, 考试开始时 获取系统时间start 如果考试时间为2个小时 就取total=start+2
    然后倒计时 显示 就可以用total-系统当前时间就是,不知道1秒1刷新会不会有问题
      

  2.   

    如果用jsp写页面的话网上可以找到时间控件 如果用zk的话它自带时间控件date和time
      

  3.   

    网上应该有javascript写的时钟,找找呢。
    1秒1刷新会,会把考试人的答案刷掉吧?
      

  4.   

    JAVA有自带的控件的
    java.util.Timer,使用这个可以做一些简单的任务处理
    比如:
    public class TestTimerTask extends TimerTask{    public void run(){
           doCommit();
           // 提交试卷
        }
    }// timer有下面这个方法
    timer = new Timer(); 
    timer.schedule(new TestTimerTask(), 结束时间);
    这样好像可以吧
      

  5.   

    感谢LS各位的回复,我先去找找现成的JS能实现不
      

  6.   

    刚找的!
    <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>
      

  7.   

    http://blog.csdn.net/mikemoon/archive/2010/02/09/5302043.aspx
    用这个可以做到想要的功能