2011-09-23 29 views
0

我有2個變量:第一個變量爲小時,第二個變量爲分鐘。但是這個數據的格式是「24小時」,但是我需要結果字符串類似的「下午5點30分」。如何使用Java上的時間格式

如何爲這種格式設置時間?

回答

3

既然你已經有小時和分鐘作爲變量,日期和日期格式的對象可能是矯枉過正。您可以使用這樣的方法:

public String getTimeString(int hours, int minutes) 
{ 
    String AmPm = "AM"; 
    if(hours > 12) 
    { 
     hours -= 12; 
     AmPm = "PM"; 
    } 
    return String.format("%d:%02d %s", hours, minutes, AmPm); 
} 
1
public static void main(String[] args) { 
    formatTime(1, 23); 
    formatTime(11, 33); 
    formatTime(14, 43); 
} 

private static void formatTime(int hours, int minutes) { 
    Calendar calendar = new GregorianCalendar(); 
    calendar.set(Calendar.HOUR, hours); 
    calendar.set(Calendar.MINUTE, minutes); 

    SimpleDateFormat df = new SimpleDateFormat("hh:mm a"); 
    System.out.println(df.format(calendar.getTime())); 
} 

輸出將是:

下午1時23
下午11時33
上午02點43