Pau*_*lor 13 java java-8 java-time
我有一个java.time.Duration,我想以mm:ss的形式输出它.似乎不可能使用DateTimeFormatter,因为它只接受LocalTime,ZonedTIme ectera
所以我这样做了,工作正常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());
Run Code Online (Sandbox Code Playgroud)
ass*_*ias 16
您可以创建一个LocalTime表示从午夜(00:00)开始的持续时间并使用DateTimeFormatter:
LocalTime t = LocalTime.MIDNIGHT.plus(duration);
String s = DateTimeFormatter.ofPattern("m:ss").format(t);
Run Code Online (Sandbox Code Playgroud)
请注意,这仅适用于不到一小时的持续时间.
试试这样
System.out.printf("%d:%02d%n", duration.toMinutes(), duration.minusMinutes(duration.toMinutes()).getSeconds());
Run Code Online (Sandbox Code Playgroud)
要么
String s = String.format("%d:%02d%n", duration.toMinutes(), duration.minusMinutes(duration.toMinutes()).getSeconds());
Run Code Online (Sandbox Code Playgroud)
格式化为String
| 归档时间: |
|
| 查看次数: |
7166 次 |
| 最近记录: |