사람의 계산 된 수면주기의 올바른 AM/PM을 표시하는 데 문제가 있습니다. 예를 들어 사용자가 오전 7시에 깨우는 시간을 클릭하면 앱에서 오후 11시 15 분에 잠자기 시간을 반환해야합니다. 내 응용 프로그램에서는 오전 11시 15 분을 표시합니다.Timepicker AM/PM의 잘못된 리턴 android
당신은 내가 지금까지 시도 무엇을 도와 수 :
private TimePickerDialog.OnTimeSetListener timePickerListener =
new TimePickerDialog.OnTimeSetListener() {
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(minute).append(" PM");
}else{
sb.append(hour).append(":").append(minute).append(" AM");
}
wakingtime.setText(sb);
// 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);
StringBuilder sb2 = new StringBuilder();
if(hour>=12){
sb2.append(hour-12).append(":").append(minute).append(" PM");
}else{
sb2.append(hour).append(":").append(minute).append(" AM");
}
answer.setText(sb2);
// set current time into textview
//answer.setText("You must go to bed at " + new StringBuilder().append(pad(hour))
// .append(":").append(pad(minute)));
}
};
어떤 도움이 정말 감사합니다! 감사.
(시간> = 12)이 줄에 중단 점을두면 중단 점에 도달 할 때까지 코드를 실행하십시오. 시간당 가치는 무엇입니까? – Simon
@Simon, [docs] (http://developer.android.com/reference/android/app/TimePickerDialog.OnTimeSetListener.html)는 "hourOfDay"라고 말합니다. 24 시간 형식이어야합니다. – varevarao
좋은 지적입니다. 그래서 계속 대답하십시오. 시간 = c.set (Calender.HOUR_OF_DAY); – Simon