Tôi bối rối. Sau khi tình cờ tìm thấy chủ đề này , tôi đã cố gắng tìm ra cách định dạng đồng hồ đếm ngược có định dạng hh:mm:ss
.
Đây là nỗ lực của tôi -
//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)));
Vì vậy, khi tôi thử một giá trị như 3600000ms
, tôi nhận được 01:59:00
, đó là sai vì nó phải như vậy 01:00:00
. Rõ ràng có gì đó không đúng với logic của tôi, nhưng hiện tại, tôi không thể thấy nó là gì!
Có ai giúp được không?
Biên tập -
Đã sửa nó. Đây là cách đúng để định dạng mili giây để hh:mm:ss
định dạng -
//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))));
Vấn đề là thế này TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
. Đáng lẽ ra nó phải thế này TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
.
00:59:59
, nó nên được01:00:00
.