更改时间显示的格式

时间:2013-01-02 01:21:00

标签: java android time format

我使用以下代码在我的应用程序中显示一个计时器(在名为“time”的editText中)

final TextView time = (TextView) findViewById(R.id.txtTime);
Long spentTime = System.currentTimeMillis() - startTime;
Long minius = (spentTime/1000)/60;
Long seconds = (spentTime/1000) % 60;
time.setText(minius+":"+seconds);
handler.postDelayed(this, 1000);

这很好但格式化有点难看。因此对于例如在4秒钟,计时器显示“0:4”,这看起来并不像计时器。

如何更改setText的格式以便它显示更常用的计时器(例如00:04),而不必制作一堆if语句(如果秒小于10然后是0 +秒等等) )

2 个答案:

答案 0 :(得分:1)

您可以使用String.format填充0的数字:

String formattedTime = String.format("%02d:%02d", minius, seconds);
time.setText(formattedTime);

答案 1 :(得分:0)

您需要使用String.format命令设置前导0。尝试:

time.setText(String.format("%02d",minius) + ":" + String.format("%02d",seconds));

当它只有一个时,总给出两个数字,前面带一个0。