2

我有一个 TextView,其中时间以格式显示10:00 PM当用户单击该视图时,必须将相同的时间设置为TimePicker对话框。我可以将Hourand设置Minutes为 Picker,但在AM/PM部分中。我总是AM知道用户是否设置AMPM. 如何解决?任何帮助表示赞赏。谢谢!

4

5 回答 5

3

我遇到了这种类型的类似问题。

可能是因为您可能已将hour元素设置为以下方式

hour = String.valueOf(cal.get(Calendar.HOUR));

尝试将其更改为

hour = String.valueOf(cal.get(Calendar.HOUR_OF_DAY));

希望它会帮助你。

于 2013-03-15T12:43:13.760 回答
0

您首先以 24 小时格式将数据提供给时间选择器。稍后设置

public void setIs24HourView (false);

那会为你做的..

于 2013-03-15T12:44:54.860 回答
0
         //String selectedtime ="03:15 PM"

         //convert time 12 hrs to 24 hrs
        SimpleDateFormat displayFormat = new SimpleDateFormat("HH:mm");
           SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm a");
           Date date = null;
        try {
            date = parseFormat.parse(selectedtime);
              System.out.println(parseFormat.format(date) + " = " + displayFormat.format(date));
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        String twentyfourhrstime=displayFormat.format(date);



         //split hrs and min
        String[] parts111 = twentyfourhrstime.split(":");
        String part11 = parts111[0]; // 004
        String part22 = parts111[1];

        System.out.println("value11>>>>"+part11);
        System.out.println("value22>>>>"+part22);
        hour = Integer.parseInt(part11);
        min =Integer.parseInt(part22);

并将小时和最小值设置为 timepicker..

于 2014-09-30T12:26:41.560 回答
0
private Calendar calendar_date=null;
private TimePicker timePicker;

calendar_date = Calendar.getInstance();
timePicker= (TimePicker)dialog.findViewById(R.id.timePicker1);
timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
        @Override
        public void onTimeChanged(TimePicker picker, int hour, int minute) {
            calendar_date.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), hour, minute);
            Log.i("TIME", getHourIn12Format(hour)+":"+minute+" "+getAMPM(calendar_date));
        }
    });

private int getHourIn12Format(int hour24) {
    int hourIn12Format = 0;
    if(hour24==0)
        hourIn12Format = 12;
    else if(hour24<=12)
        hourIn12Format = hour24;
    else
        hourIn12Format = hour24-12;
    return hourIn12Format;
}

private String getAMPM(Calendar calendar) {
    return (calendar.get(Calendar.AM_PM)==(Calendar.AM))? "AM":"PM";
}
于 2013-03-15T12:43:57.910 回答
0

试试这个,希望能解决你的问题

Date date = Calendar.getInstance().getTime();
SimpleDateFormat formatter = new SimpleDateFormat("MMM,dd,yyyy hh:mm a");
String mDay_time = formatter.format(date);

更多时间模式语法

于 2013-03-15T12:46:15.677 回答