Неправильное время выбрано с помощью timepickerdialog
Я использую приведенный ниже код для получения времени от пользователя. Все работает хорошо, за исключением того, что пользователь выбирает 15 в 24-часовом формате, окончательный вывод происходит в 3 часа ночи, и наоборот. Я прочитал много блогов, но не получил четкого решения для сортировки. Может кто-нибудь помочь. Вот код:
final TimePickerDialog.OnTimeSetListener tf = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
calendar.set(Calendar.HOUR, i);
calendar.set(Calendar.MINUTE, i1);
String myFormat = "hh:mm a"; //In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
timefrom.setText(sdf.format(calendar.getTime()));
}
};
Вот код, когда время устанавливается на клик:
timefrom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new TimePickerDialog(HireActivity.this, tf,
calendar.get(Calendar.HOUR), calendar.get(Calendar.MINUTE), true).show();
}
});
Я попытался с 122-часовым форматом просмотра тоже, и здесь также, если пользователь выбирает 5 часов утра, окончательный результат будет в 6 часов вечера и наоборот.
1 ответ
Решение
Использовать HOUR_OF_DAY
new TimePickerDialog(HireActivity.this, tf,
calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true).show();