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

标签 java javascript jsp clock runnable

我想访问 run() 方法中的字符串变量并在 jsp 屏幕上显示该值。请注意,run() 方法中的字符串变量所保存的 value 每 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();
}

演示是您的 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(),它会给您相同的东西,只是格式不同。

关于java - 在 JSP 屏幕上显示动态 UTC 时钟时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26610350/

相关文章:

JavaFX 还是相对的

java - 为什么要创建抽象类和接口(interface)?

java - 使方法只能被模板类中的某些对象访问

javascript - Angular 2加载一次数据并在本地过滤Observable

eclipse - HTTP 状态 [404] ? [Not Found](源站没有找到当前表示)

java - 我可以通过在现有的 Web 项目中添加一个新的 jsp 来创建一个新的网页吗?

java - 如何从意图菜单创建实例方法而不是静态方法

javascript - JavaScript 中的今天 -30 天

c# - 在c#中传递函数数组

java - 错误 :java. lang.IllegalStateException:BindingResult 和 bean 名称 'spcrId' 的普通目标对象都不能用作请求属性