Calendar.getInstance() 给了我错误的时间取决于我问的时候
Calendar.getInstance() gives me wrong time depends when I am asking
早上我使用相同的代码,它给了我正确的时间。但是下午就少了12个小时。
例如,在 11:21 我会收到 11:21,但在 15:22 会收到 03:22。
我的代码:
@OnClick(R.id.createMeetingTime)
void onClickTime() {
// To show current time in the time picker
Calendar currentTime = Calendar.getInstance();
int hour = currentTime.get(Calendar.HOUR);
int minute = currentTime.get(Calendar.MINUTE);
String time = mTime.getText().toString();
if(! time.equals("")) {
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
try {
currentTime.setTime(format.parse(time));
hour = currentTime.get(Calendar.HOUR);
minute = currentTime.get(Calendar.MINUTE);
} catch (java.text.ParseException e) {
e.printStackTrace();
}
}
TimePickerDialog timePicker;
timePicker = new TimePickerDialog(
CreateMeetingActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
NumberFormat numberFormat = new DecimalFormat("00");
mTime.setText(numberFormat.format(selectedHour) + ":" +
numberFormat.format(selectedMinute));
mDateTime.set(Calendar.HOUR_OF_DAY, selectedHour);
mDateTime.set(Calendar.MINUTE, selectedMinute);
}
},hour,minute, true); // 24h format
timePicker.setTitle("Choose Time");
timePicker.show();
}
谢谢。
Calendar.HOUR
是 12 小时制的字段。使用 Calendar.HOUR_OF_DAY
作为 24 小时时钟版本。
参考:http://developer.android.com/reference/java/util/Calendar.html#HOUR
早上我使用相同的代码,它给了我正确的时间。但是下午就少了12个小时。
例如,在 11:21 我会收到 11:21,但在 15:22 会收到 03:22。
我的代码:
@OnClick(R.id.createMeetingTime)
void onClickTime() {
// To show current time in the time picker
Calendar currentTime = Calendar.getInstance();
int hour = currentTime.get(Calendar.HOUR);
int minute = currentTime.get(Calendar.MINUTE);
String time = mTime.getText().toString();
if(! time.equals("")) {
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
try {
currentTime.setTime(format.parse(time));
hour = currentTime.get(Calendar.HOUR);
minute = currentTime.get(Calendar.MINUTE);
} catch (java.text.ParseException e) {
e.printStackTrace();
}
}
TimePickerDialog timePicker;
timePicker = new TimePickerDialog(
CreateMeetingActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
NumberFormat numberFormat = new DecimalFormat("00");
mTime.setText(numberFormat.format(selectedHour) + ":" +
numberFormat.format(selectedMinute));
mDateTime.set(Calendar.HOUR_OF_DAY, selectedHour);
mDateTime.set(Calendar.MINUTE, selectedMinute);
}
},hour,minute, true); // 24h format
timePicker.setTitle("Choose Time");
timePicker.show();
}
谢谢。
Calendar.HOUR
是 12 小时制的字段。使用 Calendar.HOUR_OF_DAY
作为 24 小时时钟版本。
参考:http://developer.android.com/reference/java/util/Calendar.html#HOUR