Android秒表显示错误的分钟值

时间:2013-12-06 12:01:51

标签: android timer stopwatch

我正在做一些秒表,用这个代码计算经过的时间:

int seconds = (int) (millis / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
int milliseconds = (int) (millis%1000);
int hours = minutes / 60;
labelTime.setText(String.format("%02d", hours) + ":" + String.format("%02d", minutes) + ":" + String.format("%02d",seconds)+ ":" + String.format("%03d",milliseconds));

这样可行,但1小时后我的秒表显示例如01:61:22而不是01:01:22。 如何从0开始分钟?

3 个答案:

答案 0 :(得分:2)

为什么不使用类似的东西:

if(minutes>59){
minutes = 0;
}

答案 1 :(得分:2)

labelTime.setText(String.format("%02d", hours) + ":" + String.format("%02d", minutes-(hours*60)) + ":" + String.format("%02d",seconds)+ ":" + String.format("%03d",milliseconds));

答案 2 :(得分:1)

这将为您提供您所期望的

if(minutes > 59){
    minutes = 60 - minutes;
    hours = hours + 1;
}