显示摆动计时器的值

时间:2012-03-13 20:56:11

标签: java swing timer

目前,我正在使用标签

打印我的swing worker计时器的值
.setText(days + " Days :" + hours + " Hours :" +  mins + " Minutes : " + seconds + " Seconds elapsed")

我想知道是否有可能以稍微整洁的方式格式化它?

3 个答案:

答案 0 :(得分:2)

我有一个我正在使用的程序,它使用String.format(...)和格式字符串:

// in the constants section
private static final String DISPLAY_FORMAT_STR = "%02d:%02d:%02d:%01d";   


private void showTimeLeft() {
  int oldMin = min;
  hours = (int) (deltaTime / (MS_PER_SEC * SEC_PER_MIN * MIN_PER_HR));
  min = (int) (deltaTime / (MS_PER_SEC * SEC_PER_MIN) % MIN_PER_HR);
  sec = (int) (deltaTime / (MS_PER_SEC) % SEC_PER_MIN);
  msec = (int) (deltaTime % MS_PER_SEC);

  String displayString = String.format(DISPLAY_FORMAT_STR, hours, min, sec,
        msec / 100);
  displayField.setText(displayString);

  // ... etc...

否则,如果您正在处理Date对象(我不是),您可以使用SimpleDateFormat对象来更好地格式化输出。

答案 1 :(得分:1)

答案 2 :(得分:1)

其中一种方法,如何计算经过时间

long start = System.currentTimeMillis();

// some code executed 

long end = System.currentTimeMillis();
long elapsed = end - start;
long seconds = elapsed / 1000;

休息calculating days / hours / minutes / seconds