저는이 코드를 사용하여 TimePicker에 현재 시간을 보여 줍니다. 그러나 정확히 모르겠는데 왜 올바르게 표시되지 않습니까? 예를 들어 시간 (시스템 시간)은 2:56 PM이지만 2:56 AM입니다. 내가 어떻게 해결할 수 있니? 감사. 내가 아래에이 방법으로 문자열의 형태로이 시간을 변환 할 때안드로이드의 TimePicker에서 현재 시간을 보여줍니다.
private long timer1 = 0;
...
switch (view.getId()) {
case R.id.add1: {
if (timer1 == 0) {
timer1 = getCurrentTime();
}
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timer1);
TimePicker timePicker = (TimePicker) findViewById(R.id.tp_1);
timePicker.setCurrentHour(calendar.get(Calendar.HOUR));
timePicker.setCurrentMinute(calendar.get(Calendar.MINUTE));
break;
. ..
}
private long getCurrentTime() {
Calendar calendar = GregorianCalendar.getInstance();
return calendar.getTimeInMillis();
}
는 또한 내가 같은 문제가 있습니다 :
private String convertTimeToString(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
//int hour = get;
int minute = calendar.get(Calendar.MINUTE);
String timeSet;
if (hour > 12) {
hour -= 12;
timeSet = "PM";
} else if (hour == 0) {
hour += 12;
timeSet = "AM";
} else if (hour == 12) {
timeSet = "PM";
} else {
timeSet = "AM";
}
String minutes;
if (minute < 10) {
minutes = "0" + minute;
} else {
minutes = String.valueOf(minute);
}
// Append in a StringBuilder
return String.format("%s:%s %s", hour, minutes, timeSet);
}
저를 도와주세요!
timePicker.setCurrentHour(calendar.get(Calendar.HOUR));
하려면 :
hourStart = c.get(Calendar.HOUR_OF_DAY);
내 대답을 확인하십시오. 시간 = c.get (Calendar.HOUR_OF_DAY); –
HOUR 시간 필드 대신 HOUR_OF_DAY를 설정하십시오. –