2011-07-04 42 views
1

我寫了下面的代碼,以獲得時間問題的時間格式

public String getTime() { 
    final Calendar cld = Calendar.getInstance(); 
    String time = cld.get(Calendar.HOUR) + ":" + (cld.get(Calendar.MINUTE)); 
    try { 
     Date date = new SimpleDateFormat("HH:mm").parse(time); 
     time = new SimpleDateFormat("HH:mm").format(date); 
    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    return time; 
} 

這總是給我的時間就像

11:59

01:07

但我需要在24小時的格式,如:

11:59

13:07

如何更改代碼。

+0

什麼是_actual_時候,你得到了01:07的輸出?是上午1:07還是下午1:07? – Flimzy

+0

http://developer.android.com/reference/java/util/Calendar.html –

+0

我總是想接受答案。但是...... – Rasel

回答

3

使用HOUR_OF_DAY而不是HOUR

+0

在Calendar.HOUER_OF_DAY中的哪個位置? – Rasel

+0

謝謝。那就是訣竅 – Rasel

0

HH:mm是正確的。 01:07是凌晨1點,13:07是下午1點。等到下午1點,看到或創建一個日期對象並對其進行測試。

1

Calendar.HOUR = get和set的字段編號,指示早上或下午的小時。 HOUR用於12小時制。例如,在10:04:15.250 PM時HOUR是10.

Calendar.HOUR_OF_DAY = get和set的字段編號,指示一天中的小時。 HOUR_OF_DAY用於24小時制。例如,在10:04:15.250 PM,HOUR_OF_DAY是22.

1

改爲使用Calendar.HOUR_OF_DAY

1

下面的代碼:

Calendar cal = Calendar.getInstance(); 
int hour = cal.get(Calendar.HOUR_OF_DAY); 
int minute = cal.get(Calendar.MINUTE); 
String time = hour + ":" + minute;