我有一个 java.time.Duration,我想以 mm:ss 的形式输出它。似乎无法使用 DateTimeFormatter,因为它只接受 LocalTime、ZonedTIme 等
所以我是这样做的,在 90 秒内工作正常,给出 1:30,但在 66 秒内给出 1:6,而我想要 1:06
Duration duration = Duration.ofSeconds(track.getLength().longValue());
System.out.println(duration.toMinutes() + ":" + duration.minusMinutes(duration.toMinutes()).getSeconds());
最佳答案
您可以创建一个表示从午夜 (00:00) 开始的持续时间的 LocalTime
并使用 DateTimeFormatter
:
LocalTime t = LocalTime.MIDNIGHT.plus(duration);
String s = DateTimeFormatter.ofPattern("m:ss").format(t);
请注意,这仅适用于少于一小时的持续时间。
关于java - 我如何格式化 java.time.Duration mm :ss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28675095/