2013-04-25 105 views
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); 
+6

爲什麼AREN你使用SimpleDateFormat嗎?當你不使用結果時,你期望什麼時候調用'String.format(「%02d」分鐘)? – 2013-04-25 15:12:40

+3

哦,並且請注意'getHours'和'getMinutes'都被棄用的事實。你應該使用'日曆' - 或理想的喬達時間。 – 2013-04-25 15:13:49

回答

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

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()); 
1

它不工作的原因是因爲String.format("%02d", minutes);是一個函數,返回字符串

對於你的情況如果分鐘是8,String.format("%02d", minutes);將返回08

所以,對於這個工作,你得有這樣的:

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

我也同意你不應該在格式化的時候像這樣,使用日期格式。