使用时间选择器对话框选择了错误的时间
Wrong time selected with timepickerdialog
我正在使用以下代码从用户那里获取时间。一切正常,除非用户 select 15 在 24 小时格式视图中,最终输出在凌晨 3 点出现,反之亦然。我阅读了很多博客,但没有得到明确的解决方案来排序。有人可以帮忙吗。
这是代码:
final TimePickerDialog.OnTimeSetListener tf = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
calendar.set(Calendar.HOUR, i);
calendar.set(Calendar.MINUTE, i1);
String myFormat = "hh:mm a"; //In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
timefrom.setText(sdf.format(calendar.getTime()));
}
};
点击时设置时间的代码如下:
timefrom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new TimePickerDialog(HireActivity.this, tf,
calendar.get(Calendar.HOUR), calendar.get(Calendar.MINUTE), true).show();
}
});
我也尝试使用 122 小时视图格式,如果用户 select 上午 5 点,则最终输出为下午 6 点,反之亦然。
使用HOUR_OF_DAY
new TimePickerDialog(HireActivity.this, tf,
calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true).show();
我正在使用以下代码从用户那里获取时间。一切正常,除非用户 select 15 在 24 小时格式视图中,最终输出在凌晨 3 点出现,反之亦然。我阅读了很多博客,但没有得到明确的解决方案来排序。有人可以帮忙吗。 这是代码:
final TimePickerDialog.OnTimeSetListener tf = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
calendar.set(Calendar.HOUR, i);
calendar.set(Calendar.MINUTE, i1);
String myFormat = "hh:mm a"; //In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
timefrom.setText(sdf.format(calendar.getTime()));
}
};
点击时设置时间的代码如下:
timefrom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new TimePickerDialog(HireActivity.this, tf,
calendar.get(Calendar.HOUR), calendar.get(Calendar.MINUTE), true).show();
}
});
我也尝试使用 122 小时视图格式,如果用户 select 上午 5 点,则最终输出为下午 6 点,反之亦然。
使用HOUR_OF_DAY
new TimePickerDialog(HireActivity.this, tf,
calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true).show();