请求更好的方法来限制毫秒数
Request a better way to limit milli second digits
我试图限制 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 位毫秒返回值。
试试这个。
milli.substring(0, Math.min(milli.length(), 2));
这是我在生产中使用的代码
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();
}
并且运行良好
我试图限制 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 位毫秒返回值。
试试这个。
milli.substring(0, Math.min(milli.length(), 2));
这是我在生产中使用的代码
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();
}
并且运行良好