Kafam karıştı. Bu iş parçacığı üzerine tökezledikten sonra , biçimi olan bir geri sayım zamanlayıcı nasıl biçimlendirmek anlamaya çalıştım hh:mm:ss
.
İşte benim girişimim -
//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)));
Yani, böyle bir değeri denediğimde 3600000ms
, anladım 01:59:00
, olması gerektiği için yanlış 01:00:00
. Açıkçası mantığımda bir sorun var, ama şu anda ne olduğunu göremiyorum!
Biri yardım edebilir mi?
Düzenle -
Onu düzeltti. Milisaniyeyi formatlamak için doğru yolu aşağıda bulabilirsiniz 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))));
Sorun buydu TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
. Bunun TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
yerine bu olmalıydı .
00:59:59
, olmalı01:00:00
.