学习将给定的持续时间(以毫秒为单位)转换为小时、分钟和秒;并将格式设置为 HH:mm:ss
或任何其他自定义模式。
如果我们知道根据给定的毫秒计算小时、分钟或秒的算术公式,那么我们可以使用 Duration 类方法并自己应用这些计算。
Duration 类以秒和纳秒为单位模拟时间量。它为其他基于持续时间的时间单位提供方法,例如 toHours()
、toMinutes
() 和 getSeconds()
。我们可以使用这些方法来获取特定单位的时间并获取模数以提取确切的数量。
long millis = 54321000;
Duration duration = Duration.ofMillis(millis);
long h = duration.toHours();
long m = duration.toMinutes() % 60;
long s = duration.getSeconds() % 60;
String timeInHms = String.format("%02d:%02d:%02d", h, m, s);
System.out.println(timeInHms); //15:05:21
DurationFormatUtils 类提供格式化实用程序和常量。它的formatDuration(durationMillis, format) 方法可用于将指定的持续时间格式化为指定的格式。
它采用可选的第三个参数 padWithZeros
指定是否用 0 填充数字的左侧。例如,如果我们想将“5”写成“05”,那么我们应该将第三个参数作为 true
传递。
long millis = 54321000;
String timeInHms = DurationFormatUtils
.formatDuration(millis, "HH:mm:ss", true);
System.out.println(timeInHms); //15:05:21
//Without padding
timeInHms = DurationFormatUtils
.formatDuration(millis, "HH:mm:ss", false);
System.out.println(timeInHms); //15:5:21
要使用此类,请包含来自 Maven 存储库的最新版本的 commons-lang。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
在这个简短的 Java 教程中,我们学习了如何将给定的持续时间(以毫秒为单位)转换为包含小时、分钟和秒的格式化字符串。此信息对于打印可能运行数小时的长时间运行作业的日志很有用。
快乐学习!!
地址:https://www.cundage.com/article/format-millis-to-hh-mm-ss.html