下面的java代码每两秒打印一次静态系统时间,但我想每两秒打印一次动态系统时间
我正试图编写一个简单的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 楼答案
在这里:
调用获取时间
然后将时间转换为日期,然后再转换为字符串10次。 您必须在循环中获取一个新的日历实例
但在2019年,真正的答案是使用
LocalDateTime.now()
。日历/日期内容已严重过时,不建议再使用