我做了一个快速计时器,我试图以“00:00.00”格式显示时间,其中第一个00是分钟,00.00是秒和秒的分数。我有以下格式代码:
// Get the delta time
long timeDelta = System.currentTimeMillis()-startTimeMillis;
int minutes;
double seconds;
// Now split
if( timeDelta>60000 ) { // Minutes
minutes = (int)(timeDelta/60000);
timeDelta-= minutes*60000;
}
else
minutes = 0;
// Now for the rest
seconds = timeDelta/1000.0;
// Get the text string
final String timeString = String.format( "%1$02d:%2$02.2f", minutes, seconds );
但字符串不断出现,如“00:6.42”而不是“00:06.42”。如何使用String.format格式化小数,前导零和小数位?
答案 0 :(得分:2)
在Java中更好的方法是使用SimpleDateFormat
,如下所示:
long timeDelta = System.currentTimeMillis()-startTimeMillis;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat ("mm:ss:SS");
System.out.println(simpleDateFormat.format(timeDelta));