java - 如何将Timer的秒数转换为hh :mm:ss?

标签 java timer

如果问同一个问题两次被认为是垃圾邮件,我真的很抱歉,因为我在一小时前已经问过倒计时。

但现在新的问题是,虽然我无法再次引起任何人对那个问题的关注。感谢你们,我已经成功地编写了计时器,但后来我尝试将秒数转换为 hh:mm:ss 格式,但它没有用。而不是一直持续到 00:00:00。它只显示我编码的时间,仅此而已。

这是我的代码。

import java.util.Timer;
import java.util.TimerTask;
public class countdown extends javax.swing.JFrame {


public countdown() {
    initComponents();
    Timer timer;

    timer = new Timer();
    timer.schedule(new DisplayCountdown(), 0, 1000);
}

class DisplayCountdown extends TimerTask {

      int seconds = 5;
      int hr = (int)(seconds/3600);
      int rem = (int)(seconds%3600);
      int mn = rem/60;
      int sec = rem%60;
      String hrStr = (hr<10 ? "0" : "")+hr;
      String mnStr = (mn<10 ? "0" : "")+mn;
      String secStr = (sec<10 ? "0" : "")+sec; 

      public void run() {
           if (seconds > 0) {
              lab.setText(hrStr+ " : "+mnStr+ " : "+secStr+"");
              seconds--;
           } else {

              lab.setText("Countdown finished");
              System.exit(0);
          }    
    }
}     
public static void main(String args[]) {
    new countdown().setVisible(true);
}  

最佳答案

移动你的计算

  int hr = seconds/3600;
  int rem = seconds%3600;
  int mn = rem/60;
  int sec = rem%60;
  String hrStr = (hr<10 ? "0" : "")+hr;
  String mnStr = (mn<10 ? "0" : "")+mn;
  String secStr = (sec<10 ? "0" : "")+sec; 

进入run 方法。

关于java - 如何将Timer的秒数转换为hh :mm:ss?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19205920/

相关文章:

java - 如果没有记录层,我怎样才能只获得 TLS 握手?

java - mockito "verify"检查当前状态,但不重置模拟调用

java - java中等待一个C++编写的多线程程序

java - 如果应用程序有多个模块并且每个模块都是单独的项目,那么在 jboss 和 eclipse 中调试 java 应用程序的最佳方法是什么

c# - 在 MonoTouch .NET 线程中使用 NSTimer 的问题

ios - 如何使用 Date() 函数和应用程序位于前台和后台时的时间戳来获取耗时?

c# - C# 中的定时器与全局变量?

java - 如何使用 javamail 将我网站的联系表单链接到我的邮件

java - 在计时器中使用 "if"语句执行任务而不满足指定条件?

delphi - 衰落值常规功能/过程