Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何获得;上午";或;PM";在;TimePickerDialog“;_Android_Datetimepicker_Timepickerdialog - Fatal编程技术网

Android 如何获得;上午";或;PM";在;TimePickerDialog“;

Android 如何获得;上午";或;PM";在;TimePickerDialog“;,android,datetimepicker,timepickerdialog,Android,Datetimepicker,Timepickerdialog,如何获得“上午”或“下午”?我已经看到了时间选择器的功能,但没有找到任何答案 如果用户在设备选项中将使用24小时格式设置为false,则将显示AM和PM 设备上的路径: 设置>日期时间>使用24小时格式 来源: 我现在就在我的设备上尝试了它。scheduleTime.setOnClickListener(新视图.OnClickListener(){ scheduleTime.setOnClickListener(new View.OnClickListener() {

如何获得“上午”或“下午”?我已经看到了
时间选择器
的功能,但没有找到任何答案


如果用户在设备选项中将
使用24小时格式
设置为false,则将显示AM和PM

设备上的路径:
设置>日期时间>使用24小时格式

来源:
我现在就在我的设备上尝试了它。

scheduleTime.setOnClickListener(新视图.OnClickListener(){
    scheduleTime.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Calendar mcurrentTime = Calendar.getInstance();
            int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
            int minute = mcurrentTime.get(Calendar.MINUTE);
            TimePickerDialog mTimePicker;
            mTimePicker = new TimePickerDialog(activity, new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {

                    String choosedHour = "";
                    String choosedMinute = "";
                    String choosedTimeZone = "";
                    if(selectedHour > 12){
                        choosedTimeZone = "PM";
                       selectedHour = selectedHour - 12;
                        if(selectedHour < 10){
                            choosedHour = "0"+selectedHour;
                        }else{
                            choosedHour = ""+selectedHour;
                        }
                    }else{
                        choosedTimeZone = "AM";
                        if(selectedHour < 10){
                            choosedHour = "0"+selectedHour;
                        }else{
                            choosedHour = ""+selectedHour;
                        }
                    }

                    if(selectedMinute < 10){
                        choosedMinute = "0"+selectedMinute;
                    }else{
                        choosedMinute= ""+selectedMinute;
                    }

                    scheduleTime.setText(choosedHour + ":" + choosedMinute +" "+choosedTimeZone);
                    //scheduleTime.setText(selectedHour + ":" + selectedMinute);
                    //scheduleTime.setText( strHrsToShow+":"+datetime.get(Calendar.MINUTE)+" "+am_pm );
                }
            }, hour, minute+30, false);//Yes 24 hour time
            mTimePicker.setTitle("Select Time");
            mTimePicker.show();
        }
    });
@凌驾 公共void onClick(视图){ Calendar mcurrentTime=Calendar.getInstance(); int hour=mcurrentTime.get(Calendar.hour\u OF\u DAY); int minute=mcurrentTime.get(Calendar.minute); 时间选择器Dialog mTimePicker; mTimePicker=new TimePickerDialog(活动,new TimePickerDialog.OnTimeSetListener(){ @凌驾 public void onTimeSet(计时器选择器计时器选择器,int-selectedHour,int-selectedMinute){ 字符串choosedHour=“”; 字符串choosedMinute=“”; 字符串choosedTimeZone=“”; 如果(已选择小时>12){ 选择时区=“PM”; selectedHour=selectedHour-12; 如果(已选择小时<10){ 选择小时数=“0”+所选小时数; }否则{ choosedHour=“”+selectedHour; } }否则{ 选择时区=“AM”; 如果(已选择小时<10){ 选择小时数=“0”+所选小时数; }否则{ choosedHour=“”+selectedHour; } } 如果(选择分钟<10){ 选择分钟=“0”+选择分钟; }否则{ 选择分钟=”+选择分钟; } scheduleTime.setText(choosedHour+:“+choosedMinute+”“+choosedTimeZone); //scheduleTime.setText(selectedHour+“:”+selectedMinute); //scheduleTime.setText(strHrsToShow+“:“+datetime.get(Calendar.MINUTE)+”+am\u-pm); } },小时,分钟+30,错误);//是24小时时间 setTitle(“选择时间”); mTimePicker.show(); } });

因为Android只提供24小时格式,即使您将其设置为false。所以处理它的唯一方法是使用值解析的条件(即,如果selectedHour大于12,那么它将是PM,我们还需要将它减去12,从而得到精确的12小时格式。如果小时数小于10,我也会在小时数前加上“0”,以避免类似凌晨4:1的格式

哦,我知道小时和分钟的值会根据“AM”或“PM”而改变,所以,我不应该得到“AM”或“PM”的值。对不起,我不明白你想说什么。问题解决了!谢谢^
    scheduleTime.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Calendar mcurrentTime = Calendar.getInstance();
            int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
            int minute = mcurrentTime.get(Calendar.MINUTE);
            TimePickerDialog mTimePicker;
            mTimePicker = new TimePickerDialog(activity, new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {

                    String choosedHour = "";
                    String choosedMinute = "";
                    String choosedTimeZone = "";
                    if(selectedHour > 12){
                        choosedTimeZone = "PM";
                       selectedHour = selectedHour - 12;
                        if(selectedHour < 10){
                            choosedHour = "0"+selectedHour;
                        }else{
                            choosedHour = ""+selectedHour;
                        }
                    }else{
                        choosedTimeZone = "AM";
                        if(selectedHour < 10){
                            choosedHour = "0"+selectedHour;
                        }else{
                            choosedHour = ""+selectedHour;
                        }
                    }

                    if(selectedMinute < 10){
                        choosedMinute = "0"+selectedMinute;
                    }else{
                        choosedMinute= ""+selectedMinute;
                    }

                    scheduleTime.setText(choosedHour + ":" + choosedMinute +" "+choosedTimeZone);
                    //scheduleTime.setText(selectedHour + ":" + selectedMinute);
                    //scheduleTime.setText( strHrsToShow+":"+datetime.get(Calendar.MINUTE)+" "+am_pm );
                }
            }, hour, minute+30, false);//Yes 24 hour time
            mTimePicker.setTitle("Select Time");
            mTimePicker.show();
        }
    });