可能重複:
Android date/time displaying 0 instead of 12的Android時間晚上零點應顯示下午12:00,而不是
下面是我使用的代碼:
public void onTimeSet(TimePicker view, int selectedHour,
int selectedMinute) {
// Gets current time
Calendar c = Calendar.getInstance();
hour = selectedHour;
minute = selectedMinute;
// set waking time into textview
StringBuilder sb = new StringBuilder();
if(hour >= 12){
sb.append(hour-12).append(":").append(pad(minute)).append(" PM");
}else if(hour == 0){
sb.append("12").append(":").append(pad(minute)).append(" AM");
} else if(hour == 24){
sb.append(hour+24).append(":").append(pad(minute)).append(" PM");
}
else{
sb.append(hour).append(":").append(pad(minute)).append(" AM");
}
// Assign hour set in the picker
c.set(Calendar.HOUR, selectedHour);
c.set(Calendar.MINUTE, selectedMinute);
// Have Calendar calculate the substraction of hours and minutes
c.add(Calendar.HOUR, SUB_HOUR);
c.add(Calendar.MINUTE, SUB_MINUTE);
// Get the hour and the minute calculated
hour = c.get(Calendar.HOUR);
minute = c.get(Calendar.MINUTE);
//hour = c.get(Calendar.HOUR_OF_DAY);
StringBuilder sb2 = new StringBuilder();
if(hour>=12){
sb2.append(hour-12).append(":").append(pad(minute)).append(" PM");
}else if(hour == 0){
sb2.append("12").append(":").append(pad(minute)).append(" AM");
}
else{
sb2.append(hour).append(":").append(pad(minute)).append(" AM");
}
// set current time into textview
answer.setText("To wake up at " + sb + ", you must go to bed at " + sb2);
在我的第一個StringBuilder,當用戶選擇12:00 pm時,它顯示在0:00 Pm不是1下午2點,我該怎麼做?提前致謝。
你到底?將24小時時間顯示爲12小時或其他內容? – RobinHood
顯示24小時到12小時 –
'%12'和'if(小時== 0)小時= 12;' – anthropomo