Показать значение таймера свинга - PullRequest
1 голос
/ 14 марта 2012

В настоящее время я печатаю свои значения для моего рабочего таймера в метке

.setText(days + " Days :" + hours + " Hours :" +  mins + " Minutes : " + seconds + " Seconds elapsed")

Мне было интересно, можно ли было отформатировать это немного аккуратнее?

Ответы [ 3 ]

2 голосов
/ 14 марта 2012

У меня есть программа, над которой я сейчас работаю, которая использует String.format(...) и формат String для этого:

// 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 (I 'это не так), вы можете использовать объект SimpleDateFormat для лучшего форматирования вашего вывода.

1 голос
/ 14 марта 2012

Один из способов, как вы можете рассчитать прошедшее время

long start = System.currentTimeMillis();

// some code executed 

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

Отдых для Расчет дней / часов / минут / секунд

1 голос
/ 14 марта 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...