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();
}
});