在JSP屏幕上显示动态UTC时钟时间

Displaying dynamic UTC clock time on JSP screen

本文关键字:UTC 时钟 时间 动态 显示 JSP 屏幕      更新时间:2023-09-26

我想访问run()方法中的字符串变量,并在jsp屏幕上显示该值。请注意,根据下面的代码,run()方法中的字符串变量所保持的值每1秒更改一次。因此,我的要求是在屏幕上显示值并动态更改值。

                              (OR)

简单地说,我所要显示的只是JSP屏幕上的UTC时钟时间,它每隔一秒就会发生变化。

public class Clock implements Runnable {
    JLabel jb;
//Constructor takes the clock JLabel
    public Clock(JLabel jb) {
        this.jb = jb;
    }

    public void run() {
        while (true) {
            try {
                //Thread sleeps & updates ever 1 second, so the clock changes every 1 second.
                jb.setText(timeNow());
                String dynaStr= timeNow();
                Thread.sleep(1000);
            } catch (InterruptedException ex) {
                System.out.println(ex);
            }
        }
    }
      public String timeNow() {
Calendar c = Calendar.getInstance();
    TimeZone z = c.getTimeZone();
    int offset = z.getRawOffset();
    if(z.inDaylightTime(new Date())){
        offset = offset + z.getDSTSavings();
    }
    int offsetHrs = offset / 1000 / 60 / 60;
    int offsetMins = offset / 1000 / 60 % 60;
    System.out.println("offset: " + offsetHrs);
    System.out.println("offset: " + offsetMins);
    c.add(Calendar.HOUR_OF_DAY, (-offsetHrs));
    c.add(Calendar.MINUTE, (-offsetMins));
    System.out.println("GMT Time: "+c.getTime());
    return c.getTime().toString();
}
}

使用javascript而不是java。一个例子是:

var myVar=setInterval(function () {myTimer()}, 1000);
function myTimer() {
    var date = new Date();
    document.getElementById("demo").innerHTML = date.toISOString();
}

demo是你的div或者你用来显示的任何东西。

这里是功能齐全的代码,只需复制并粘贴到文本文档中,然后将扩展名从txt更改为html或(jsp)。然后双击以在浏览器中运行。

<html>
<head>
<title></title>
<script type="text/javascript">
var myVar=setInterval(function () {myTimer()}, 1000);
var counter = 0;
function myTimer() {
    var date = new Date();
    document.getElementById("demo").innerHTML = date.toISOString();
}
</script>
</head>
<body>
   <span id="demo"></span>
</body>
</html>

你也可以使用date.toUTCString(),它会给你同样的东西,只是不同的格式。