2015-01-09 2 views
0

я начал с суммарными миллисекунд, которые я преобразованы в к общему количеству минут и общему количеству секунд:Java - изменение минут и секунд на формат времени? (Мм: сс)

long minutes = TimeUnit.MILLISECONDS.toMinutes(itemDuration); 
long seconds = TimeUnit.MILLISECONDS.toSeconds(itemDuration) 
    - TimeUnit.MINUTES.toSeconds(minutes); 

Теперь я хочу, чтобы отобразить минут и секунд в мм: сс (и если иногда есть часы, то конвертируйте в формат hh: mm: ss). как бы я это сделал?

спасибо!

Редактирование: Я пробовал использовать SimpleDateFormat, однако он отображал неправильное время в часовом поясе, которое отличается на полчаса против полного часа. (т. е. если часовой пояс GMT +5: 30, а длительность позиции - 5 секунд, приложение будет отображать 30:05 вместо 00:05). Однако он отлично работает для других часовых поясов, которые отличаются на полный час , например GMT + 5.

если я не делаю что-то неправильно с SimpleDateFormat?

private static final SimpleDateFormat mLengthFormatter = new SimpleDateFormat("mm:ss", Locale.getDefault()); 

(также, просто из любопытства, если я использую SimpleDateFormat, и количество минут больше, чем 2 цифры, то что произойдет? Бы это максимум на 99?)

+2

_if Я использую SimpleDateFormat, а количество минут больше, чем 2 цифры, и что произойдет? если бы он был максимальным на 99? _-чувак, вы разработчик. У вас есть все силы, чтобы попробовать себя. –

ответ

1

Могли вероятно, сделайте это с помощью форматирования строк.

formatter.format("%2d:%2d", minutes,seconds); 
+0

это работало с% 02d:% 02d, спасибо! –

Смежные вопросы