0

如何阻止整数在时间中丢弃零?我试过用

String.format("%02d", minutes);

但它不起作用,我相信它很简单!

Date dt = new Date();
int hours = dt.getHours();
int minutes = dt.getMinutes();
String curTime = hours + ":" + minutes;
String.format("%02d", minutes);
updatedat.setText("Updated at " + curTime);
4

4 回答 4

5

改用 SimpleDateFormat 对象来格式化日期/时间。

Date date = new Date(); // initializes to current time
DateFormat df = new SimpleDateFormat("h:mm");
updatedat.setText("Updated at " + df.format(date));

在此处阅读有关 SimpleDateFormat 和格式规范的更多信息。

于 2013-04-25T15:14:16.550 回答
1

它不起作用的原因是因为String.format("%02d", minutes);是一个返回字符串的函数

对于您的情况,如果分钟为 8 分钟,String.format("%02d", minutes);将返回08

因此,要使其正常工作,您必须具备以下条件:

String curTime = hours + ":" + String.format("%02d", minutes);

我也同意你不应该像这样格式化时间,使用日期格式化程序。

于 2013-04-25T15:19:21.520 回答
0

包含 0 的一种简单方法是使用如下函数:

public String TwoCh(int i) { String s= "0" + Integer.toString(i); return s.substring(s.length() - 2); }

然后(尽管 getHours 和 getMinutes 都已弃用),您可以执行以下操作

String curTime = TwoCh(dt.getHours())+ ":" + TwoCh(dt.getMinutes());
于 2013-04-25T15:16:55.493 回答
0

我认为您想要做的是按照以下格式获取时间 22:01

为此,使用 simpleDateFormat 您可以阅读完整的文档,请访问http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

于 2013-04-25T15:29:10.867 回答