TimePicker - 如何设置是上午还是下午?

问题描述 投票:1回答:4

我是新来的机器人,在我的应用我有一个timepicker这里我需要以编程方式设置时,分,AM / PM值。

时间值是“11:11:AM”,在这个我已经设置了时间和时间,这是工作的罚款。但我不知道如何设置的AM / PM值。

码:

  if (!(mTime == null)) {
                String timme = mTime;
                String[] time = timme.split(":");
                int hour = Integer.parseInt(time[0].trim());
                int min = Integer.parseInt(time[1].trim());
                String amPm = ((time[2].trim()));

                mTimePicker.setIs24HourView(false);
                mTimePicker.setHour(hour);
                mTimePicker.setMinute(min);
            }

图片:

enter image description here

它总是显示“AM”,即使字符串中有“PM”。谁能帮我解决这个问题。

android android-timepicker
4个回答
0
投票

机器人基于它在24小时内的格式被提供时自动设置AM / PM。澄清:

你必须通过调用TimePicker设置为12小时模式

yourtimepicker.setIs24HourView(false)

然后用24小时制的供给时间

yourtimepicker.setHour(22)

如果我是你,我就开走串,并检查是否最后一部分是上午还是下午,如果它是PM我想补充12小时值,所以如果它是11:11:PM我会得到23小时,把它给Android和让它走其他的事情。

注:本作品为两个微调和时钟模式


1
投票

这样调用,

mTimePicker.setIs24HourView(false);

Learn more here


0
投票

String = aTime24 hour格式化字符串

   mTimePicker = new TimePickerDialog(context, new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                    String timeSet;
                    if (selectedHour > 12) {
                        selectedHour -= 12;
                        timeSet = "PM";
                    } else if (selectedHour == 0) {
                        selectedHour += 12;
                        timeSet = "AM";
                    } else if (selectedHour == 12)
                        timeSet = "PM";
                    else
                        timeSet = "AM";
                    String minutes = "";
                    if (selectedMinute < 10)
                        minutes = "0" + selectedMinute;
                    else
                        minutes = String.valueOf(selectedMinute);

                    String aTime = new StringBuilder().append(selectedHour).append(':')
                            .append(minutes).append(" ").append(timeSet).toString();

                    relatedWorkTime.setText(aTime);

                }
            }, hour, minute, false);
            mTimePicker.setTitle("Select Time");
            mTimePicker.show();

0
投票

使用下面的代码从24小时格式转换添加到12小时格式,并添加AM / PM。

String time =  ((hourOfDay > 12) ? hourOfDay % 12 : hourOfDay) + ":" + (minute < 10 ? ("0" + minute) : minute) + " " + ((hourOfDay >= 12) ? "PM" : "AM");

请从下面的android timepicker的全部代码。


final Calendar c = Calendar.getInstance();
                mHour = c.get(Calendar.HOUR_OF_DAY);
                mMinute = c.get(Calendar.MINUTE);

                // Launch Time Picker Dialog
                TimePickerDialog timePickerDialog = new TimePickerDialog(CreateNewBatchActivity.this,
                        new TimePickerDialog.OnTimeSetListener() {

                            @Override
                            public void onTimeSet(TimePicker view, int hourOfDay,
                                                  int minute) {
                                String time =  ((hourOfDay > 12) ? hourOfDay % 12 : hourOfDay) + ":" + (minute < 10 ? ("0" + minute) : minute) + " " + ((hourOfDay >= 12) ? "PM" : "AM");

                                buttonBatchStartTime.setText(time);
                            }
                        }, mHour, mMinute, false);
                timePickerDialog.show();
© www.soinside.com 2019 - 2024. All rights reserved.