2012-09-21 7 views

답변

0

사용자가 현재 시간에서 원하는 시간에 원하는 시간에 들어가야하는 모든 문제를 해결하는 이유는 무엇입니까? 카운트 다운 타이머 아이디어에 매핑 할 때 더 의미가 있습니다.

사용자가 지정한 시간에 타이머를 설정하려면이 방법을 사용하십시오.

//Get user input into variable hours, and minutes 
Timer timer = new Timer(); 
timer.schedule(new TimerTask() { 
    public void run() { 
     //do stuff when countdown has happened 
    }, (((hours * 60) + minutes) * 60) * 1000)); //time in milliseconds to exec run 
} 

편집

단순히 사용자의 입력 시간과 분은 다음과 같은 때 시간 차이를 계산하려면 :

//Get user input into variable hours, and minutes 
Calendar cal = new GregorianCalendar(); 
//Assuming user inputs hour in 24 hour format and inputted time is in future 
totalMinsDiff = (hours - cal.get(Calendar.HOUR_OF_DAY)) * 60 + 
     minutes - cal.get(Calendar.MINUTE); 
countdownHours = totalMinsDiff/60; 
countdownMins = totalMinsDiff % 60; 
+0

: 아니요, 해당 기간의 타이머를 표시하고 싶습니다. – user1684892

+0

편집을 확인하십시오. 나는 그것이 당신이 찾고있는 것이라고 생각합니다. 필드를 더 많이 입력하는 것은 사용자가 필드를 입력하고 달력에서 적절한 필드를 추출하는 것입니다. – xshoppyx

+0

MKJParekh는 내 요구 사항에 대한 완벽한 대답을주었습니다. 어쨌든 thx alot xshoppyx ... – user1684892

2

는 두 날짜 사이의 차이를 얻으려면/달력 객체는 밀리 초 (long)로 시간을 얻는 것이 더 좋습니다. 당신이 타사 API를 사용할 수있는 경우

Calendar current = Calendar.getInstance(); 
    Calendar usertime = Calendar.getInstance(); 
    usertime.set(Calendar.HOUR_OF_DAY, 20); 
    usertime.set(Calendar.MINUTE, 12); 

    long diffInMilisecond = Math.abs(usertime.getTimeInMillis()-current.getTimeInMillis()); 
+0

: thx alot man .. – user1684892

+0

완벽한 답변! +1 .. – Hiral

+0

[Wel-Come] (http://stackoverflow.com/faq) .. !! – MKJParekh

관련 문제