首页 > Java > java教程 > 正文

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

Barbara Streisand
发布: 2024-11-02 11:55:30
原创
283 人浏览过

How do I Convert Milliseconds to

如何将毫秒转换为“hh:mm:ss”格式:已解决

将毫秒转换为“hh:mm:ss”格式可能很棘手,但 Java 的 TimeUnit API 提供了一种便捷的方法来做到这一点。在偶然发现另一个线程的错误尝试后,让我们探索处理此转换的正确方法。

最初,错误的方法涉及使用以下行:

TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
登录后复制

但是,此计算错误使用分钟而不是小时将小时转换为毫秒。正确的逻辑是:

TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
登录后复制

这是更正的代码片段:

String.format("%02d:%02d:%02d", 
    TimeUnit.MILLISECONDS.toHours(millis),
    TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), // Corrected line
    TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));   
登录后复制

此修改可确保使用正确的时间单位正确转换小时。

此外,可以使用模除法而不是减法来简化代码:

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));
登录后复制

两种方法都利用 TimeUnit API 并提供精确的毫秒“hh:mm:ss”格式。

以上是如何在 Java 中将毫秒转换为'hh:mm:ss”格式?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!