RT。
我在JSP页面的顶部显示了年、月、日和 时间,可是我发现时间不变化,显示的是登录页面时的时间,我如果要让显示的时间不断的变化,就像钟那样,要如何实现呢?
大侠们能否提供几个实例代码做参考?谢谢!!

解决方案 »

  1.   

    客户端脚本配合ajax来实现也行
      

  2.   

    <SCRIPT>
    //从服务器上获取初始时间
    var currentDate = new Date(<%=new java.util.Date().getTime()%>);
    function run() 
    {
    currentDate.setSeconds(currentDate.getSeconds()+1);
    document.getElementById("dt").innerHTML = currentDate.toLocaleString();}
    window.setInterval("run();", 1000);
    </SCRIPT>
    <div id="dt">time</div>
      

  3.   

    脚本说明:
    第一步:把如下代码加入<body>区域中
     <script language="JavaScript">
    <!-- Hide
      var timerID = null
      var timerRunning = false
      function MakeArray(size) 
      {
      this.length = size;
      for(var i = 1; i <= size; i++)
      {
      this[i] = "";
      }
      return this;
      }
      function stopclock (){
      if(timerRunning)
      clearTimeout(timerID);
      timerRunning = false
      }
      function showtime () {
      var now = new Date();
      var year = now.getYear();
      var month = now.getMonth() + 1;
      var date = now.getDate();
      var hours = now.getHours();
      var minutes = now.getMinutes();
      var seconds = now.getSeconds();
      var day = now.getDay();
      Day = new MakeArray(7);
      Day[0]="星期天";
      Day[1]="星期一";
      Day[2]="星期二";
      Day[3]="星期三";
      Day[4]="星期四";
      Day[5]="星期五";
      Day[6]="星期六";
      var timeValue = "";
      timeValue += year + "年";
      timeValue += ((month < 10) ? "0" : "") + month + "月";
      timeValue += date + "日  ";
      timeValue += (Day[day]) + "  ";
      timeValue += ((hours <= 12) ? hours : hours - 12);
      timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
      timeValue += ((seconds < 10) ? ":0" : ":") + seconds;
      timeValue += (hours < 12) ? "上午" : "下午";
      document.jsfrm.face.value = timeValue;
      timerID = setTimeout("showtime()",1000);
      timerRunning = true
      }
      function startclock () {
      stopclock();
      showtime()
      }
      //--></script>
     <form name='jsfrm'>
                        <input type=text name='face' size=34 value=''>
                      </form>第二步:把<body>中的内容改为:
    <body bgcolor="#fef4d9" onLoad="startclock()">
      

  4.   

    用javascript就可以了
    例子如下:
    <html>
    <head>
      <title></title>
      <script language="javascript">
      function get_time()
      {
        var date=new Date();
        var year="",month="",day="",week="",hour="",minute="",second="";
        year=date.getYear();
        month=add_zero(date.getMonth()+1);
        day=add_zero(date.getDate());
        week=date.getDay();
        switch (date.getDay()) {
        case 0:val="星期天";break
        case 1:val="星期一";break
        case 2:val="星期二";break
        case 3:val="星期三";break
        case 4:val="星期四";break
        case 5:val="星期五";break
        case 6:val="星期六";break
          }
        hour=add_zero(date.getHours());
        minute=add_zero(date.getMinutes());
        second=add_zero(date.getSeconds());
        timetable.innerText=" "+year+"."+month+"."+day+" "+hour+":"+minute+":"+second+val;
      }  function add_zero(temp)
      {
        if(temp<10) return "0"+temp;
        else return temp;
      }
    setInterval("get_time()",1000);
      </script>
    </head>
    <body>
    <div id="timetable"></div>
    </body>
    </html>
      

  5.   

    <div id="timetable"></div>
    ------是干什么的?
    我怎么使用这段代码? 我要显示时间部分的代码是这样的: <bean:write name="clock" property="year" />
    年<bean:write name="clock" property="month" />
    月<bean:write name="clock" property="dayOfMonth" />
    日&nbsp;星期<bean:write name="clock" property="day" />
    &nbsp;&nbsp; 当前时间:</NOBR>
    想在  当前时间: 的后面显示,我要怎么做?  感激不尽!!!
      

  6.   

    你加一个<div>嘛,在当前时间:后面
      

  7.   

    你加一个<div>嘛,在当前时间:后面-------------具体怎么写呀??  感激不尽!!
      

  8.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <meta   http-equiv="refresh"   content="200"> 
    <TITLE> TIME REAL TIME DISPLAY </TITLE>
    <script  language=JavaScript>
    var old;
    function starttime(){
        old=new Date("Tue Jul 28 14:22:36 UTC+0800 2006");
        window.setInterval("showtime()",1000);
    }
    function showtime(){
        var date=new Date();
        var time=old.getTime()-date.getTime();
        var oday=60*60*24*1000;
        var ohour=60*60*1000;
        var ominute=60*1000;    var day=Math.floor(time/oday);
        var hour=Math.floor((time%oday)/ohour);
        var minute=Math.floor(((time%oday)%ohour)/ominute);
        var second=Math.floor((((time%oday)%ohour)%ominute)/1000);
        window.timeDiv.innerText="剩余时间为: "+day+"天"+hour+"小时"+minute+"分钟"+second+"秒";
    }
    </script>
    </HEAD><BODY onload="starttime();">
    <div id='overTimeDiv'>
    <input type="hidden" name="overTime" value="2006-07-28 14:22:36">
    订单期限为: 2006-07-28 14:22:36
    </div><div id='timeDiv'> 
    </div> 
    </BODY>
    </HTML>
      

  9.   

    谢谢上面诸位热心的大侠!!我在  在当前时间:后面  加了 <DIV id="timetable"></DIV> ;可还是不行呀,网页上有错误;
     我写的代码具体如下:  <html:html>
    <head>
    <title></title> <META http-equiv="Content-Type" content="text/html; charset=utf-8"> //说是这里缺少对象。
    </head><body onload="get_time()">
    <script language="JavaScript"> 
    function get_time()
    {
      var date = new Date();
      var hour="";
      var minute="";
      var second="";
      hour = add_zero(date.getHours());
      minute =add_zero(date.getMinutes());
      second =add_zero(date.getSeconds());
      timetable.innerText=" "+hour+":"+minute+":"+second;
      }
      funtion add_zero(temp)
      {
        if(temp<10)
        return "0"+temp;
        else return temp;
        }
        setInterval("get_time()",1000);
        </script> <jsp:useBean id="gue_db" class="com.aa.struts.data.Connect" scope="session"></jsp:useBean>
    <h3>
    <html:link page="/send.jsp">欢迎留言</html:link>
    </h3>
    <CENTER>
    <TABLE border="" cellpadding="2" bordercolor="white" bgcolor="white"> <TR>
    <td colspan=2> <h3>
    <center>
    留言列表
    </center>
    </h3>
    </td>
    </TR>
    <TR bgcolor=>
    <td colspan=2>
    <center>
    <h5>
    <NOBR>
    <bean:write name="clock" property="year" />

    <bean:write name="clock" property="month" />
    月 <bean:write name="clock" property="dayOfMonth" />
    日&nbsp;星期
    <bean:write name="clock" property="day" />
    &nbsp;&nbsp; 当前时间:
    <DIV id="timetable"></DIV> </NOBR>
    </h5>
    </CENTER>
    </TD>
    </tr>说 行 17 (即 <META http-equiv="Content-Type" content="text/html; charset=utf-8">)缺少对象,我实在不知道哪里的错误,大侠们帮忙看看是哪里的错误吧,感激不尽!!!
      

  10.   

    <script language="JavaScript">
    <!-- Hide
      var timerID = null
      var timerRunning = false
      function MakeArray(size) 
      {
      this.length = size;
      for(var i = 1; i <= size; i++)
      {
      this[i] = "";
      }
      return this;
      }
      function stopclock (){
      if(timerRunning)
      clearTimeout(timerID);
      timerRunning = false
      }
      function showtime () {
      var now = new Date();
      var year = now.getYear();
      var month = now.getMonth() + 1;
      var date = now.getDate();
      var hours = now.getHours();
      var minutes = now.getMinutes();
      var seconds = now.getSeconds();
      var day = now.getDay();
      Day = new MakeArray(7);
      Day[0]="星期天";
      Day[1]="星期一";
      Day[2]="星期二";
      Day[3]="星期三";
      Day[4]="星期四";
      Day[5]="星期五";
      Day[6]="星期六";
      var timeValue = "";
      timeValue += year + "年";
      timeValue += ((month < 10) ? "0" : "") + month + "月";
      timeValue += date + "日  ";
      timeValue += (Day[day]) + "  ";
      timeValue += ((hours <= 12) ? hours : hours - 12);
      timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
      timeValue += ((seconds < 10) ? ":0" : ":") + seconds;
      timeValue += (hours < 12) ? "上午" : "下午";
      document.jsfrm.face.value = timeValue;
      timerID = setTimeout("showtime()",1000);
      timerRunning = true
      }
      function startclock () {
      stopclock();
      showtime()
      }
      //--></script>
     <form name='jsfrm'>
                        <input type=text name='face' size=34 value=''>
                      </form>
      

  11.   

    <font face="宋体" size="3">时间:</font>
    </b>
    <BR><SCRIPT language=JavaScript>
    function Year_Month(){ 
        var now = new Date(); 
        var yy = now.getYear(); 
        var mm = now.getMonth()+1; 
        var cl = '<font color="#0000df">'; 
        if (now.getDay() == 0) cl = '<font color="#c00000">'; 
        if (now.getDay() == 6) cl = '<font color="#00c000">'; 
        return(cl +  yy + '年' + mm + '月</font>'); }
     function Date_of_Today(){ 
        var now = new Date(); 
        var cl = '<font color="#ff0000">'; 
        if (now.getDay() == 0) cl = '<font color="#c00000">'; 
        if (now.getDay() == 6) cl = '<font color="#00c000">'; 
        return(cl +  now.getDate() + '</font>'); }
     function Day_of_Today(){ 
        var day = new Array(); 
        day[0] = "星期日"; 
        day[1] = "星期一"; 
        day[2] = "星期二"; 
        day[3] = "星期三"; 
        day[4] = "星期四"; 
        day[5] = "星期五"; 
        day[6] = "星期六"; 
        var now = new Date(); 
        var cl = '<font color="#0000df">'; 
        if (now.getDay() == 0) cl = '<font color="#c00000">'; 
        if (now.getDay() == 6) cl = '<font color="#00c000">'; 
        return(cl +  day[now.getDay()] + '</font>'); }
     function CurentTime(){ 
        var now = new Date(); 
        var hh = now.getHours(); 
        var mm = now.getMinutes(); 
        var ss = now.getTime() % 60000; 
        ss = (ss - (ss % 1000)) / 1000; 
        var clock = hh+':'; 
        if (mm < 10) clock += '0'; 
        clock += mm+':'; 
        if (ss < 10) clock += '0'; 
        clock += ss; 
        return(clock); } 
    function refreshCalendarClock(){ 
    document.all.calendarClock1.innerHTML = Year_Month(); 
    document.all.calendarClock2.innerHTML = Date_of_Today(); 
    document.all.calendarClock3.innerHTML = Day_of_Today(); 
    document.all.calendarClock4.innerHTML = CurentTime(); }
     var webUrl = webUrl; 
    document.write('<table border="0" cellpadding="0" cellspacing="0"><tr><td>'); 
    document.write('<table id="CalendarClockFreeCode" border="0" cellpadding="0" cellspacing="0" width="120" height="100" ');
    document.write('style="position:absolute;visibility:hidden" bgcolor="#eeeeee">');
    document.write('<tr><td align="center"><font ');
    document.write('style="cursor:hand;color:#ff0000;font-family:宋体;font-size:18pt;line-height:120%" ');
    if (webUrl != 'netflower'){ 
       document.write('</td></tr><tr><td align="center"><font ');
       document.write('style="cursor:hand;color:#2000ff;font-family:宋体;font-size:14pt;line-height:110%" ');

    document.write('</td></tr></table>'); 
    document.write('<table border="0" cellpadding="0" cellspacing="0" width="150" bgcolor="#C0C0C0" height="70">');
    document.write('<tr><td valign="top" width="100%" height="100%">');
    document.write('<table border="1" cellpadding="0" cellspacing="0" width="150" bgcolor="#FEFEEF" height="100">');
    document.write('<tr><td align="center" width="100%" height="100%" >');
    document.write('<font id="calendarClock1" style="font-family:宋体;font-size:10pt;line-height:120%"> </font><br>');
    document.write('<font id="calendarClock2" style="color:#ff0000;font-family:Arial;font-size:16pt;line-height:120%"> </font><br>');
    document.write('<font id="calendarClock3" style="font-family:宋体;font-size:11pt;line-height:120%"> </font><br>');
    document.write('<font id="calendarClock4" style="color:#100080;font-family:宋体;font-size:10pt;line-height:120%"><b> </b></font>');
    document.write('</td></tr></table>');
    document.write('</td></tr></table>'); 
    document.write('</td></tr></table>'); 
    setInterval('refreshCalendarClock()',1000);
    </SCRIPT>
    <BR>
      

  12.   


     老是说我的页面有错误!。。我怎么才能让大侠们写的这些代码在我的JSP页面起作用啊~~~ 大侠们告诉我 我这么写错在哪里吧: <html:html>
    <head>
    <title></title><META http-equiv="Content-Type" content="text/html; charset=utf-8"> //说是这里缺少对象。
    </head><body onload="get_time()">
    <script language="JavaScript"> 
    function get_time()
    {
      var date = new Date();
      var hour="";
      var minute="";
      var second="";
      hour = add_zero(date.getHours());
      minute =add_zero(date.getMinutes());
      second =add_zero(date.getSeconds());
      timetable.innerText=" "+hour+":"+minute+":"+second;
      }
      funtion add_zero(temp)
      {
        if(temp<10)
        return "0"+temp;
        else return temp;
        }
        setInterval("get_time()",1000);
        </script><jsp:useBean id="gue_db" class="com.aa.struts.data.Connect" scope="session"></jsp:useBean>
    <h3>
    <html:link page="/send.jsp">欢迎留言</html:link>
    </h3>
    <CENTER>
    <TABLE border="" cellpadding="2" bordercolor="white" bgcolor="white"><TR>
    <td colspan=2><h3>
    <center>
    留言列表
    </center>
    </h3>
    </td>
    </TR>
    <TR bgcolor=>
    <td colspan=2>
    <center>
    <h5>
    <NOBR>
    <bean:write name="clock" property="year" />

    <bean:write name="clock" property="month" />
    月<bean:write name="clock" property="dayOfMonth" />
    日&nbsp;星期
    <bean:write name="clock" property="day" />
    &nbsp;&nbsp; 当前时间:
    <DIV id="timetable"></DIV></NOBR>
    </h5>
    </CENTER>
    </TD>
    </tr>说 行 17 (即 <META http-equiv="Content-Type" content="text/html; charset=utf-8">)缺少对象
      

  13.   

    简单插一下嘴:这效果的实现有两种方法:
    1.  直接使用客户端的机器时间显示在页面上。 用javascript实现。。并且每一秒更新一次。 楼上好多代码都是这样的。2.  用 java代码取得服务器时间,然后用javascript每秒更新一次,并且递增秒数。这个采用的比较多。3.  ajax的思想, 每隔一定的时间更新一次页面时间,并且,每秒的递增也是javascript来实现的。所以, LZ应该多看看javascript的代码部分,我的感觉是lz对 javascript不太熟悉。所以,代码不知道如何写。另, LZ一定要区分好服务器端执行的脚本/客户端执行的脚本!
      

  14.   

    要么用JAVASCRIPT要么就用线程来做吧,呵呵,不过还是觉得JAVASCRIPT就行了.网上代码很多,上面的发的应该是可以的,都是对的,我不是用他们说的那种做的
      

  15.   

    还有一种现在很多人用的方法忘了说了,   4. Flash做。 当然效果要好看,初始化的时间吗,就是和用javascript一样了,可以用服务器的时间加上每秒刷新, 或者干脆就是用客户端的时间了帐!