android java String.format 在 double 上的小数点前后填充零

android java String.format padding zeroes before and after decimal on a double

我做了一个快速计时器,我正在尝试以“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( "%1d:%2.2f", minutes, seconds );

但是字符串总是像“00:6.42”而不是“00:06.42”。我怎样才能 String.format 格式化带前导零的小数 小数位?

在 Java 中,更好的方法是使用 SimpleDateFormat,就像这样:

long timeDelta = System.currentTimeMillis()-startTimeMillis;

SimpleDateFormat simpleDateFormat = new SimpleDateFormat ("mm:ss:SS");
System.out.println(simpleDateFormat.format(timeDelta));

Working example