我正在做一些秒表,用这个代码计算经过的时间:
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开始分钟?
答案 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;
}