Search code examples
androiddatetimepickertimepicker

12 hour format timepicker android


I have a timepicker which is working fine. But it is in 24 hour format. I want it to be in 12 hour format. I can't find a possible solution. My current code snippet is:

Calendar mcurrentTime = Calendar.getInstance();
            final int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
            int minute = mcurrentTime.get(Calendar.MINUTE);
            TimePickerDialog mTimePicker;
            mTimePicker = new TimePickerDialog(AddJob.this, new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                    ////
                }
            }, hour, minute, true);
            mTimePicker.setTitle("Select Time");
            mTimePicker.show();

Thanks in advance.

Edit: I am able to check the meridian after the date selection. But I want the user to select the meridian.

Update: How can an android question be duplicate of a javascript question? Someone left a negative vote on that..!


Solution

  • Change your TimePickerDialog call:

    Your code is:

    mTimePicker = new TimePickerDialog(AddJob.this,
              new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker timePicker,
                           int selectedHour, int selectedMinute) {
                        ////
                    }
                }, hour, minute, true);
    

    Change your last parameter from true to false

    since TimePickerDialog constructor syntax is:

    TimePickerDialog(Context context,
            TimePickerDialog.OnTimeSetListener listener,
            int hourOfDay,
            int minute,
            boolean is24HourView)
    

    Note: last parameter is boolean is24HourView So change it to false and your problem will be solved

    For more details, view TimePickerDialog Documentation

    Hope it helps!!!