首页 > Java > java教程 > 如何在 Java 中将毫秒转换为人类可读的时间格式?

如何在 Java 中将毫秒转换为人类可读的时间格式?

Barbara Streisand
发布: 2024-12-20 12:28:16
原创
682 人浏览过

How Can I Convert Milliseconds to a Human-Readable Time Format in Java?

在 Java 中将毫秒转换为人类可读的时间

准确测量经过的时间在许多编程场景中至关重要。 System.currentTimeMillis() 方法提供与当前时间相对应的基于毫秒的时间戳。然而,以人类可以轻松理解的格式呈现此时间戳需要转换。本文探讨了将毫秒转换为人类可读格式(如“XX 分钟,XX 秒”)的最佳方法。

Java 的 TimeUnit 类

java.util.并发.TimeUnit类提供了一种将毫秒转换为人类可读时间单位的便捷方法。它提供了静态方法,例如 toMinutes 和 toSeconds 来执行必要的计算。要使用此方法,您可以编写以下代码:

String.format("%d min, %d sec", 
    TimeUnit.MILLISECONDS.toMinutes(millis),
    TimeUnit.MILLISECONDS.toSeconds(millis) - 
    TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))
);
登录后复制

为单位数字值添加前导零

如果您想确保单位数字值显示前导零(例如,“09 分钟”而不是“9 分钟”),只需使用以下命令code:

String.format("%02d min, %02d sec", 
    TimeUnit.MILLISECONDS.toMinutes(millis),
    TimeUnit.MILLISECONDS.toSeconds(millis) - 
    TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))
);
登录后复制

没有 TimeUnit 的自定义计算

如果 TimeUnit 不可用(例如,在较旧的 Android 版本上),您可以执行毫秒到时间的转换手动使用以下方程:

int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours   = (int) ((milliseconds / (1000*60*60)) % 24);
登录后复制

然后您可以组合这些值来创建所需的时间

结论

通过利用 java.util.concurrent.TimeUnit 类或自定义计算,您可以轻松地将毫秒转换为 Java 中人类可读的格式。这使您能够以准确且易于理解的方式显示经过的时间。

以上是如何在 Java 中将毫秒转换为人类可读的时间格式?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板