我是新来的机器人,在我的应用我有一个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);
}
图片:
它总是显示“AM”,即使字符串中有“PM”。谁能帮我解决这个问题。
机器人基于它在24小时内的格式被提供时自动设置AM / PM。澄清:
你必须通过调用TimePicker设置为12小时模式
yourtimepicker.setIs24HourView(false)
然后用24小时制的供给时间
yourtimepicker.setHour(22)
如果我是你,我就开走串,并检查是否最后一部分是上午还是下午,如果它是PM我想补充12小时值,所以如果它是11:11:PM
我会得到23小时,把它给Android和让它走其他的事情。
注:本作品为两个微调和时钟模式
该String = aTime
是24 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();
使用下面的代码从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();