Java如何将毫秒转换为“ hh:mm:ss”格式?

Java如何将毫秒转换为“ hh:mm:ss”格式?,第1张

Java如何将毫秒转换为“ hh:mm:ss”格式?
String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),TimeUnit.MILLISECONDS.toMinutes(millis) -  TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), // The change is in this lineTimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));  

你被转化小时使用millisseconds 分钟,而不是小时。

顺便说一句,我喜欢你对TimeUnitAPI 的使用:)

这是一些测试代码

public static void main(String[] args) throws ParseException {    long millis = 3600000;    String hms = 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)));    System.out.println(hms);}

输出

01:00:00

我意识到上面的代码可以通过使用模数除法而不是减法来大大简化:

String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),    TimeUnit.MILLISECONDS.toMinutes(millis) % TimeUnit.HOURS.toMinutes(1),    TimeUnit.MILLISECONDS.toSeconds(millis) % TimeUnit.MINUTES.toSeconds(1));

仍将TimeUnitAPI用于所有魔术值,并提供完全相同的输出



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5017571.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存