Replacing AM / PM DateFormat in TimePickerDialog

I have a layout / button and onClick . I get a TimePickerDialog with the current time (previously defined from Calendar ):

    RelativeLayout time = (RelativeLayout) findViewById(R.id.time_layout);
    time.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
            TimePickerDialog dateDialog = new TimePickerDialog(SelectDateTimeActivity.this,
                    TimeSetListener,
                    hours, minutes, false);
            dateDialog.show();
        }
    });

TimePicker is in 12 hours mode - it has AM / PM . TimeSetListener looks like

private TimePickerDialog.OnTimeSetListener TimeSetListener = new TimePickerDialog.OnTimeSetListener() {
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        hours = hourOfDay;
        minutes = minute;
        updateTimeRow();
    }
};

and updateTimeRow () -

private void updateTimeRow() {
    Calendar c = Calendar.getInstance();
    c.set(Calendar.HOUR, hours);
    c.set(Calendar.MINUTE, minutes);

    timeBody.setText("@ " + (String) (DateFormat.format("hh:mm aa", c.getTime())));
}

, , TimePickerDialog 06:00 PM ( 18:00, ), 06:00 AM timeBody textView. 06:00 ( 06:00) timeBody textView, 06:00 PM. ?

+1
1

HOUR_OF_DAY HOUR.

c.set(Calendar.HOUR, hours);

:

c.set(Calendar.HOUR_OF_DAY, hours);
+3

Source: https://habr.com/ru/post/1661404/


All Articles