Java中使用hh:mm:ss格式的倒数计时器

时间:2016-03-03 08:00:00

标签: java datetime-format

我创建了秒倒计时时间程序,遗憾的是我不知道如何将其转换为hh:mm:ss格式。我想把它显示为hh:mm:ss到我指定给它的标签上。只是为了上下文,我有一个这个程序的数据库,我可以从数据库中提取秒数。我想从数据库中提取时间格式,但由于某种原因它不起作用。如果你能帮助我,我真的很感激。

这是我的代码:

public class Event implements ActionListener {
    public void actionPerformed(ActionEvent e) {
          int count = (int)(Double.parseDouble(tf.getText())); \\tf is a label where I display the seconds int data from my database
          timerLabel.setText(String.valueOf(count));
          TimeClass tc = new TimeClass(count);
          timer = new Timer(1000, tc);
          timer.start();
     }
}

public class TimeClass implements ActionListener {
   int counter;
   public TimeClass(int counter) {
         this.counter= counter;
   }
   public void actionPerformed(ActionEvent tc) {
         counter--;
         if(counter >= 1) {
              timerLabel.setText(String.valueOf(counter));
         }
         else {
              timer.stop();
              timerLabel.setText("Done!");
              Toolkit.getDefaultToolkit().beep();
         }
   }
}

1 个答案:

答案 0 :(得分:0)

public static void main(String[] args) throws ParseException {
    long millis = 3600000;
    String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),
            TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
            TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
    System.out.println(hms);
}