2012-07-14 2 views
-1

현재 시간을 얻으려면 다음 줄을 사용하고 있습니다 : System.currentTimeInMilis. 에뮬레이터에서 일치하지 않는 시간대를 고려하지 않거나 안드로이드 전화와 일치하지 않는 것으로 나타났습니다. 안드로이드 시계 자체를 가져 오는 또 다른 유형의 방법이 있습니다. ? 그래서 사용자가 시계에 내장 된 전화기를 조정하면 영향을 미칩니 까?Android : 시간 받기

float getTime() 
    { 
     Calendar cal = new GregorianCalendar(); 
     cal.setTimeInMillis(System.currentTimeMillis()); 
     cal.setTimeZone(TimeZone.getDefault()); 
     return cal.getTimeInMillis(); 
    } 
+0

원하는 시간 형식은 무엇입니까? –

+0

내가 시간, 분, 초를 추출 할 수있는 형식. –

답변

1

currentTimeMillis의 설명서를 읽으십시오. 의 시간대는으로 UTC (Unix 타임 스탬프의 기본값)입니다.

당신은 당신이 자바 일정 및 시간대 클래스의 사용을 만들 수있는 다른 시간대로 변환하려면 :

Calendar cal = new GregorianCalendar(); 
cal.setTimeInMillis(System.currentTimeMillis()); 
cal.setTimeZone(TimeZone.getDefault()); 

가 또는 당신은 단지 새 해 GregorianCalendar 인스턴스를 만들 수 있습니다. 기본적으로 TimeZone은 로컬 장치와 일치하며 시간은 "now"로 설정됩니다.

또한 현재 시간대 및 로캘에 따라 현재 시간을 문자열로 검색하는 다른 방법이 있습니다. DateUtils을보십시오. 달력

의 사용을 설명하면서

편집이 Calendar.getTimeMillis에 대한 설명서를 읽고(). 이 메소드는 UTC 시간대가있는 Unix 시간 소인을 다시 리턴합니다.

올바른 값을 가져 오려면 대신 Calendar.get() 메서드를 사용해야합니다. 캘린더 개체를 통해 올바른 시간대의 현재 시간을 가져 오려면 다음 예제를 참조하십시오.

int hour = cal.get(Calendar.HOUR_OF_HAY); 

캘린더 관련 문서를 읽으십시오. HOUR_OF_DAY와 같이 년, 월, 분, 초 등과 같은 값을 얻을 수있는 필드가 많이 있습니다.

+0

고마워요, 그걸 시도 할게요 –

+0

내 휴대폰에서 작동하지 않습니다. 여전히 동일하게 유지됩니다 :/ –

+0

두 가지 일을 할 수 있습니까? 전화기의 시간대 설정과 현재 시간을 확인하고 코드 줄을 게시하십시오. 사용할려고했다 고요? – tiguchi