TimePicker - 如何设置上午或下午?
TimePicker - how to set AM or PM?
我是 android 的新手,在我的应用程序中我有一个时间选择器,我需要以编程方式设置小时、分钟、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"。
谁能帮我解决这个问题。
像这样打电话,
mTimePicker.setIs24HourView(false);
Android 根据以 24 小时格式提供的时间自动设置 AM/PM。澄清一下:
您必须通过调用
将 TimePicker 设置为 12 小时模式
yourtimepicker.setIs24HourView(false)
然后使用
以 24 小时格式提供时间
yourtimepicker.setHour(22)
如果我是你,我会拆开字符串并检查最后一部分是上午还是下午,如果是下午,我会将小时值加 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();
我是 android 的新手,在我的应用程序中我有一个时间选择器,我需要以编程方式设置小时、分钟、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"。 谁能帮我解决这个问题。
像这样打电话,
mTimePicker.setIs24HourView(false);
Android 根据以 24 小时格式提供的时间自动设置 AM/PM。澄清一下:
您必须通过调用
将 TimePicker 设置为 12 小时模式yourtimepicker.setIs24HourView(false)
然后使用
以 24 小时格式提供时间yourtimepicker.setHour(22)
如果我是你,我会拆开字符串并检查最后一部分是上午还是下午,如果是下午,我会将小时值加 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();