I was attempting to limit the number of milliseconds displayed in an Android UI, and I came up with this:
Long milli = TimeUnit.NANOSECONDS.toSeconds(nanos);
String partB = milli.toString().substring(0,2);
String partA = String.format("%d:%d:%d.",
TimeUnit.NANOSECONDS.toHours(nanos),
TimeUnit.NANOSECONDS.toMinutes(nanos),
TimeUnit.NANOSECONDS.toSeconds(nanos));
return partA + partB;
I tried setting the String.format to "%d:%d:%d.%02d", but I still got the full 5 digit value returned for milliseconds.