java - 在 Java 中跟踪时间

标签 java time

<分区>

Possible Duplicate:
Java Timer

如何在 Java 中跟踪固定时间段内的剩余时间?

例如,我想每秒向用户显示此输出:

you have 50 seconds
you have 49 seconds //after 1 second
you have 48 seconds //after 2 seconds

等等。

最佳答案

您可以使用 Thread.sleep 作为一种机制来计时对用户的响应,但我不会依赖它来确保倒计时的准确性。 Thread.sleep 使线程在即 1000 毫秒后再次激活,但在线程实际再次运行之前可能需要一些额外的时间。

这个怎么样:

    int remainingTime = 50;
    long timeout = System.currentTimeMillis() + (remainingTime * 1000);
    while (System.currentTimeMillis() < timeout) {
        Thread.sleep(1000);
        System.out.println("You have : " + (timeout - System.currentTimeMillis()) / 1000 + " seconds left");
    }

关于java - 在 Java 中跟踪时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5451002/

相关文章:

java - 获取特定数据的正则表达式

java - Log4j - 有时只需要换行

java - Android 上的时间解析问题

c - 获取在 C 中运行函数的时间量

java - FastDateFormat HHmmssS 行为类似于 HHmmSSS

java - 检测 Flappy Bird 克隆中特定区域的触摸

java - 热部署不再适用于 JBoss ("Scheme change not implemented")

java - 如何在 Java 中复制大于 4.3 GB 的文件

C:减少优化运行时间

c++ - 在 C/C++ 中将月/日/年/时间转换为时间值