0

I need to set text for 12 hours clock. Right now it is displaying 12 hours clock but after selecting time, it is setting text as 24 hours clock

schedule_time.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View 
            Calendar mcurrentTime = Calendar.getInstance();
            int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
            int minute = mcurrentTime.get(Calendar.MINUTE);
            TimePickerDialog mTimePicker;
            mTimePicker = new TimePickerDialog(Add_schedule.this, new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                    schedule_time.setText( selectedHour + ":" + selectedMinute);
                }
            }, hour, minute, false);
            mTimePicker.setTitle("Select Time");
            mTimePicker.show();
        }
    });
Upendra Joshi
  • 603
  • 6
  • 15
  • 1
    reference : https://stackoverflow.com/questions/18734452/display-current-time-in-12-hour-format-with-am-pm – Weird Dude Jan 31 '18 at 12:24
  • you can view the similar question here : https://stackoverflow.com/questions/18734452/display-current-time-in-12-hour-format-with-am-pm – Weird Dude Jan 31 '18 at 12:25

1 Answers1

2

you just do like this..

        @Override
                public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {

                    boolean isPM = (hourOfDay >= 12);

                    schedule_time.setText(String.format("%02d:%02d %s", (hourOfDay == 12 || hourOfDay == 0) ? 12 : hourOfDay % 12, minute, isPM ? "PM" : "AM"));


                    //button.setText( selectedHour + ":" + selectedMinute);
                }
Vikas singh
  • 3,461
  • 3
  • 14
  • 28