我在我的应用中使用了TimePicker。每当用户使用TimePicker打开屏幕时,我都会用当前时间初始化它。执行此操作时,TimePicker显示的是AM而不是PM这一切为什么要发生?我需要在我的代码中添加什么吗?
Date initDate = m_NoteManageObject.getDateTimeArray(position);
Calendar myCal = Calendar.getInstance();
myCal.setTime(initDate);
TimePicker timePicker = (TimePicker)layout.findViewById(R.id.time_picker);
// Initialise Time Picker
timePicker.setCurrentHour(myCal.get(Calendar.HOUR));
timePicker.setCurrentMinute(myCal.get(Calendar.MINUTE));
发布于 2012-07-08 18:38:48
您将不得不使用Calendar.HOUR_OF_DAY
而不是Calendar.HOUR
。
也就是说,timePicker.setCurrentHour()
总是希望参数采用24小时格式。不幸的是,API文档中没有正确地记录这一事实。
发布于 2017-06-28 15:31:37
public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute) {
if(hourOfDay>=0 && hourOfDay<12){
time = hourOfDay + " : " + minute + " AM";
} else {
if(hourOfDay == 12){
time = hourOfDay + " : " + minute + "PM";
} else{
hourOfDay = hourOfDay -12;
time = hourOfDay + " : " + minute + "PM";
}
}
deliveryTime.setText(time);
}
发布于 2012-07-08 17:23:40
https://stackoverflow.com/questions/11381985
复制相似问题