如何在减去十进制数时获得正确的时间。我想减去数字,好像它是时钟。但时间只有60分钟,而数字则为100.我怎样才能对小数位设置某种限制,使其像时间一样。
答案 0 :(得分:0)
这是一种方式。经过的时间以毫秒为单位,因为这是从完成System.currentTimeMillis()中减去启动System.currentTimeMillis()时所具有的。
public String formatElapsedTime(long elapsedTime) {
int centiseconds = (int) (((elapsedTime % 1000L) + 5L) / 10L);
centiseconds %= 10;
int seconds = (int) (elapsedTime / 1000L);
int minutes = seconds / 60;
seconds -= minutes * 60;
int hours = minutes / 60;
minutes -= hours * 60;
if (hours > 0) {
return String.format("%2d:%02d:%02d.%02d", hours, minutes, seconds,
centiseconds);
} else if (minutes > 0) {
return String.format("%2d:%02d.%02d", minutes, seconds,
centiseconds);
} else {
return String.format("%2d.%02d", seconds, centiseconds);
}
}
当您以小时为单位测量经过时间时,您可能不需要显示厘秒数。
因为我的格式字符串以“%2d”开头,小于10的秒,分钟和小时都有一个空格作为字符串的第一个字符。我发现这样可以防止显示器跳得太厉害。如果您不想要前导空格,请将格式String更改为“%1d”。
您也可以计算很长时间的天数。您可能需要“3天,6小时,25分钟和13秒”等格式。或者不是。