当前位置: 首页 > 知识库问答 >
问题:

下面的代码是每两秒打印一次静态系统时间,但我想每两秒打印一次动态系统时间

微生弘
2023-03-14

我正在尝试编写一个简单的java程序,每2秒动态打印一次当前时间。事实上,它每2秒打印一次,但是它打印的是完全相同的时间,而不是当前时间。我不知道为什么,以下是我尝试过的:

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class curtime extends Thread {

public void run()
{
     Calendar cal = Calendar.getInstance();
     for (int i=0;i<=10;i++)
        try {
            Thread.sleep(2000);
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
            System.out.println( sdf.format(cal.getTime()) );

        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

}
public static void main(String args[])
{
        curtime cut = new curtime();
        cut.start();
}
}

共有1个答案

赏梓
2023-03-14

在这里:

Calendar cal = Calendar.getInstance();

那个电话很快就到了。

然后你把时间变成一个日期,然后变成一个字符串10次。您必须在循环中获取一个新的日历实例!

但在2019年,真正的答案是使用LocalDateTime。现在()。日历/日期内容严重过时,不建议再使用!

 类似资料:
  • 问题内容: 最近我一直在使用带有大量数字的循环来打印Hello World: 我知道这是一种非常愚蠢的方法,但是我从未使用过Java中的任何计时器库。一个如何修改以上内容以每3秒打印一次? 问题答案: 你还可以查看和类,这些类可用于计划任务每​​秒钟运行一次。 你需要一个扩展并覆盖该方法的类,该类将在每次将该类的实例传递给方法时执行。 这是一个示例,每5秒打印一次:-

  • 最近,我一直使用带有大数字的循环来打印: 我知道这是一个非常愚蠢的方法,但我从来没有使用任何计时器库在Java。如何修改上面的打印每说3秒?

  • 最近我一直在使用带有大量数字的循环来打印: 我知道这是一种非常愚蠢的方法,但我还从未在Java中使用过任何计时器库。如何修改上述内容,使其每3秒打印一次?

  • 本文向大家介绍Android动态显示当前年月日时分秒系统时间(示例代码),包括了Android动态显示当前年月日时分秒系统时间(示例代码)的使用技巧和注意事项,需要的朋友参考一下 在布局文件中放一个TextView用来显示时间,如下所示: 开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间: 以上所述是小编给大家介绍的Android动态显示当前年月日时分秒系统

  • 我使用以下代码询问用户的身高(英尺和英寸),如果用户的输入不是int,则返回一条错误消息: 程序返回feet的错误消息: 但第一次返回英寸的错误消息时,它会返回两次: 此错误仅在用户第一次输入整数以外的内容时发生。我怎么才能摆脱这个?