2012-02-27 2 views
2

Android 프로그램을 배우려고 노력하면서 Android 프로그램을 배우고 있는데, 사용자가 제공 한 날짜와 시간에 따라 오디오 프로필을 전환합니다 ... 지금까지 나는 대부분의 레이아웃을 완료했고, 백그라운드에서 실행되어 몇 가지 검사를 수행하는 서비스를 만들었습니다. ...Android Dev : 현재 시간 범위 확인

지금 당장 나는 검사를 처리하는 우아한 방법을 찾고 있습니다. 현재 시간이 사용자가 저장 한 시간 범위에 해당하는 경우 ... 현재 시간이 사용자가 저장 한 시간에 떨어지는 지 확인하려면 안드로이드 TimerPicker 컨트롤에서 문자열 형식으로 시간 범위에 대한 사용자의 기본 설정을 저장하고 있습니다 ...

바로 지금 나는 follo 날개 코드 :

에서 다음에 오는 '때부터':시 : 분 : AM/PM을 - 8 : 59 : 문자열 형식의 AM

하여에 오는 '시간' 다음 시간 : 분 : AM/PM - 4 : 59 :

formattedDate1 is returning: 08:59 AM 

formattedDate2 is returning: 04:59 AM 

어떤 제안 : 문자열 형식의 PM

if(fromAMPM.equals("AM")){ 
     from.set(from.AM_PM, from.AM); 
} else { 
     from.set(from.AM_PM, from.PM); 
} 

//dont care about the YEAR and MONTH, so set it to current MONTH and YEAR          
from.set(rightNow.get(rightNow.YEAR), rightNow.get(rightNow.MONTH), dayOfWeek, fromHour, fromMinute);     

if(toAMPM.equals("AM")){ 
     to.set(to.AM_PM, to.AM); 
}else{ 
     to.set(to.AM_PM, to.PM); 
}  

//dont care about the YEAR and MONTH, so set it to current MONTH and YEAR      
to.set(rightNow.get(rightNow.YEAR), rightNow.get(rightNow.MONTH), dayOfWeek, toHour, toMinute); 

//this is just for me to see what got set: 
SimpleDateFormat df3 = new SimpleDateFormat("HH:mm aaa"); 
String formattedDate1 = df3.format(from.getTime()); 
String formattedDate2 = df3.format(to.getTime()); 

이 모든 처리 후?

감사

답변

1

섹션에서, "일관성없는 정보"일정 문서를 살펴 보자

http://developer.android.com/reference/java/util/Calendar.html

당신은 전화 : HOUR_OF_DAY로 toHour를 전송

to.set(rightNow.get(rightNow.YEAR), rightNow.get(rightNow.MONTH), dayOfWeek, toHour, toMinute);

을 (24 시간), HOUR (12 시간)이 아닙니다.

일관성없는 정보를 입력하면 최신 정보 만 사용됩니다. 당신은 toHour가 오후 설정에 맞지 않는 24 시간 규모로 4라고 말하면서 오후 설정을 버리게됩니다.

AM_PM을 설정하는 대신 toHour에 12를 추가하는 것이 가장 쉽습니다. 또는 set (year, month, day, hourofday, minute) 명령을 사용하지 않고 hour와 am_pm을 따로 설정하십시오.

+0

귀하의 의견에 감사드립니다. 그 카드가 세트에 전달되는 것이 24 시간이라는 것을 깨닫지 못했습니다 ... 지금 캘린더 페이지를 여러 번 읽었어야합니다 ... 이제는 모든 경우에 to.set 그리고 시간과 시간을 따로 설정하면 작동합니다 ... 다시 한 번 감사드립니다 ... –