java - 尝试循环更新日期和时间

标签 java loops date time

我想同时打印和更新日期和时间。下面的代码只取一次时间,打印同一个时间 40 次。如何在打印时更新时间?

public class Dandm {
    public static void main(String args[]) {
        DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date date = new Date();
        String time = df.format(date);
        int i;
        for (i = 40; i > 0; i--) {
            System.out.println(date);
            try {
                Thread.sleep(500);
            } catch (InterruptedException e){}
        }
    }
}

最佳答案

System.out.println(date); 替换为 System.out.println(new Date());

问题是,当您执行 Date date = new Date(); 时,date 值不会在循环中更改。您每次都需要一个新日期,因此每次都应该创建一个 new Date() 对象。

根据评论进行编辑(获取只有时间的字符串形式的日期):

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");  
for(i = 40; i > 0; i--){
    Date date = new Date();
    String str = sdf.format(date);
    System.out.println(str);

    try{Thread.sleep(500);}
    catch (InterruptedException e){}
}

关于java - 尝试循环更新日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34466885/

相关文章:

java - 如何创建数据并将其插入到具有特殊名称的表中?

qt - 非阻塞循环 {while( QMutex::trylock() );} 如何工作?

angular - date.getDate 不是函数 Typescript

java - 解码时处理 JAXB 中的转义字符

java - 从 JavaScript 调用 Groovy 或 Java

python - 如何在一定数量的请求后停止 scrapy 蜘蛛?

php - 为什么 `switch` 被认为是 `continue` 的循环结构?

javascript - 如何在 Javascript 中将日期格式从 dd-MMM-yyyy 转换为 yyyymmdd?

javascript - 将 getTime() 之类的日期方法作为回调传递

java - 正确同步的程序是否仍然允许数据竞争?(第一部分)