phatmanace phatmanace - 1 year ago 78
Java Question

"pretty print" duration in java

Does anyone know of a java library that can pretty print a number in milli seconds in the same way that c# does?

E.g. 123456 ms as a long would be printed as 4d1h3m5s

(might not be accurate , but you see hopefully what I'm getting at!!)


Answer Source

Joda Time has a pretty good way to do this using a PeriodFormatterBuilder.

Quick Win: PeriodFormat.getDefault().print(duration.toPeriod());


//import org.joda.time.format.PeriodFormatter;
//import org.joda.time.format.PeriodFormatterBuilder;
//import org.joda.time.Duration;

Duration duration = new Duration(123456); // in milliseconds
PeriodFormatter formatter = new PeriodFormatterBuilder()
String formatted = formatter.print(duration.toPeriod());
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download