Неправильное время выбрано с помощью 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();
Другие вопросы по тегам