如何将毫秒转换为“hh:mm:ss”格式?
我糊涂了。在绊倒这个线程之后,我试图弄清楚如何格式化具有该格式的倒数计时器hh:mm:ss
。
这是我的尝试 -
//hh:mm:ssString.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:ssString.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))
。
开心每一天1111
手掌心
FFIVE
相关分类