如何阻止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);
答案 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