-2

Code

    public static class TimePicker extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            final Calendar c = Calendar.getInstance();
            int hour = c.get(Calendar.HOUR);
            int minute = c.get(Calendar.MINUTE);
            return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity()));
        }
        @Override
        public void onTimeSet(android.widget.TimePicker view, int hourOfDay, int minute) {
//            displayCurrentTime.setText(String.valueOf(hourOfDay) + " : " + String.valueOf(minute));
            displayCurrentTime.setText(String.format("%02d:%02d %s", hourOfDay == 0 ? 12 : hourOfDay,
                    minute, hourOfDay < 12 ? "am" : "pm"));
        }
    }

This is the code that I'm using to display the time from the time picker. But the time is being displayed in 24hr format because of is24HourFormat.
How do I convert the same into 12hr format?

Goku
  • 9,102
  • 8
  • 50
  • 81
Sreyance
  • 29
  • 3

3 Answers3

0

Use SimpleDateFormate.

  @Override
public void onTimeSet(android.widget.TimePicker view, int hourOfDay, int minute) {
    Calendar calendar=Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);
    calendar.set(Calendar.MINUTE,minute);
    String dateIn12Hour=new SimpleDateFormat("hh:mm a").format(calendar.getTimeInMillis());
    displayCurrentTime.setText(dateIn12Hour);
}
ADM
  • 20,406
  • 11
  • 52
  • 83
0

Use setIs24HourView method of TimePicker and set it to false.

https://developer.android.com/reference/android/widget/TimePicker.html#setIs24HourView(java.lang.Boolean)

Kriczer
  • 497
  • 2
  • 12
0

You can do it by-

Calendar mcurrentTime = Calendar.getInstance();
        int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
        int minute = mcurrentTime.get(Calendar.MINUTE);
        TimePickerDialog mTimePicker;
        mTimePicker = new TimePickerDialog(AddReminder.this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                eReminderTime.setText( selectedHour + ":" + selectedMinute);
            }
        }, hour, minute, true);//Yes 24 hour time  //false if 12 hour
        mTimePicker.setTitle("Select Time");
        mTimePicker.show();

    }
});
Shivam Oberoi
  • 1,447
  • 1
  • 9
  • 18