Как отобразить количество времени для пользователя? - PullRequest
1 голос
/ 23 октября 2011

Я хочу преобразовать количество времени из миллисекунд в читаемую человеком строку.

Например:

3,600,000 должно отображаться как 1:00:00 (1 час).

Существует ли в Java существующая библиотека или класс, который может это сделать?

1 Ответ

3 голосов
/ 23 октября 2011

Начиная с версии 1.5 существует класс java.util.concurrent.TimeUnit, используйте его следующим образом:

String.format("%d min, %d sec", 
    TimeUnit.MILLISECONDS.toMinutes(millis),
    TimeUnit.MILLISECONDS.toSeconds(millis) - 
    TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))
);

Для версий ниже 1.5 Вы должны использовать

int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours   = (int) ((milliseconds / (1000*60*60)) % 24);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...