Show the time picker in hh:mm format

痴心易碎 提交于 2019-12-01 05:46:30

问题


I have to show the time picker in hh:mm format on Click the edit text.So that I had used the below code.

MainActivity.java:

  e6.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                    // TODO Auto-generated method stub
                    SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
                    Calendar mcurrentTime = Calendar.getInstance();
                    int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
                    int minute = mcurrentTime.get(Calendar.MINUTE);
                    TimePickerDialog mTimePicker;
                    mTimePicker = new TimePickerDialog(AddFlight.this, new TimePickerDialog.OnTimeSetListener() {
                        @Override
                        public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                            e6.setText(selectedHour + ":" + selectedMinute);

                        }
                    }, hour, minute, true);//Yes 24 hour time
                    mTimePicker.setTitle("Select Time");
                    mTimePicker.show();

            }
        });

It is working well and shows the time picker.But my issue is,when I select the 04:15 in timepicker, it display 4:15.It doesn't include 0 before 4.I need to show the timepicker in hh:mm format.

Anyone can help me with this.Thank you.


回答1:


Just now I had referred this post and change the single line:

this line

e6.setText(selectedHour + ":" + selectedMinute);

to

e6.setText(String.format("%02d:%02d", selectedHour, selectedMinute));




回答2:


Just set the text to "%02d:%02d" as follows:

e6.setText(String.format("%02d:%02d", selectedHour, selectedMinute));

Hope so this might help you




回答3:


Just use this method,

private String getDD(int num) {
   return num > 9 ? "" + num : "0" + num;
}



回答4:


You can Try this way...

mTimePicker = new TimePickerDialog(AddFlight.this, new TimePickerDialog.OnTimeSetListener() {
    @Override
    public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
        String formattedTime = "";
        String sHour = "00";
        // converting hour to tow digit if its between 0 to 9. (e.g. 7 to 07)
        if(selectedHour < 10)
            sHour = "0"+selectedHour;
        else
            sHour = String.valueOf(selectedHour);


        e6.setText(sHour + ":" + selectedMinute);
    }
}, hour, minute, true);


来源:https://stackoverflow.com/questions/32327496/show-the-time-picker-in-hhmm-format

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!