I've built a simple solution, using Java 8's Duration.toString()
and a bit of regex:
public static String humanReadableFormat(Duration duration) {
return duration.toString()
.substring(2)
.replaceAll("(\d[HMS])(?!$)", "$1 ")
.toLowerCase();
}
The result will look like:
- 5h
- 7h 15m
- 6h 50m 15s
- 2h 5s
- 0.1s
If you don't want spaces between, just remove replaceAll
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…