请求更好的方法来限制毫秒数

时间:2016-05-03 18:19:49

标签: android approximate timeunit

我试图限制Android UI中显示的毫秒数,我想出了这个:

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;

我尝试将String.format设置为"%d:%d:%d。%02d",但我仍然获得了毫秒返回的完整5位数值。

2 个答案:

答案 0 :(得分:0)

试试这个。

milli.substring(0, Math.min(milli.length(), 2));

答案 1 :(得分:0)

这是我在制作中使用的代码

public static String returnFormattedDuration(long nanos){
    Long days= TimeUnit.NANOSECONDS.toDays(nanos);
    nanos -= TimeUnit.DAYS.toNanos(days);
    Long hours=TimeUnit.NANOSECONDS.toHours(nanos);
    nanos -= TimeUnit.HOURS.toNanos(hours);
    Long minutes=TimeUnit.NANOSECONDS.toMinutes(nanos);
    nanos -= TimeUnit.MINUTES.toNanos(minutes);
    Long seconds= TimeUnit.NANOSECONDS.toSeconds(nanos);
    nanos -= TimeUnit.SECONDS.toNanos(seconds);
    Long millisec = TimeUnit.NANOSECONDS.toMillis(nanos);
    return days.toString()+":"+hours.toString()+":"+minutes.toString()+":"+seconds.toString()+"."+millisec.toString();
}

它运作良好