Я в замешательстве. После того, как я наткнулся на этот поток, я попытался выяснить, как отформатировать таймер обратного отсчета, который имел формат hh:mm:ss.
Здесь моя попытка -
//hh:mm:ss
String.format("%02d:%02d:%02d", 
    TimeUnit.MILLISECONDS.toHours(millis),
    TimeUnit.MILLISECONDS.toMinutes(millis) - 
    TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
    TimeUnit.MILLISECONDS.toSeconds(millis) - 
    TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));   
Итак, когда я пытаюсь использовать значение 3600000ms, я получаю 01:59:00, что неверно, так как оно должно быть 01:00:00. Очевидно, что с моей логикой что-то не так, но на данный момент я не вижу, что это такое!
Может ли кто-нибудь помочь?
Изменить -
Исправлено. Здесь правильный способ форматирования миллисекунд в формате hh:mm:ss -
//hh:mm:ss
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))));
Проблема заключалась в этом TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)). Это должно быть именно это TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)).
