停止日期下降零

时间:2013-04-25 15:11:48

标签: java android

如何阻止ints在时间内删除零?我尝试用

格式化它
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 个答案:

答案 0 :(得分:5)

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

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

详细了解SimpleDateFormat和格式规范here

答案 1 :(得分:1)

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

的函数

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

因此,为了实现这一目标,您必须拥有以下内容:

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

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

答案 2 :(得分: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());

答案 3 :(得分:0)

我认为你想要的是以下列格式获得时间 22:01

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