2017-04-07 3 views
2

나는 서버의 현재 UTC 시간을 얻으려고하고 있습니다. 그러나 그것은 테 영역 시간 (UTC + 6)을 제공합니다. 장치를 사용하지 않고 UTC 시간을 가질 수있는 방법이 있습니까? 시각?안드로이드 NTP 서버에서 UTC 시간을 얻으십시오

내 코드 :

NTPUDPClient timeClient = new NTPUDPClient(); 
InetAddress inetAddress = InetAddress.getByName("time1.google.com"); 
TimeInfo timeInfo = timeClient.getTime(inetAddress); 
long returnTime = timeInfo.getMessage().getOriginateTimeStamp().getTime(); 
long returnTime2 = timeInfo.getReturnTime(); 
Date current = new Date(returnTime); 
Date current1 = new Date(returnTime2); 
Log.i("actualtime", current.toString()); //it give me UTC+6 
Log.i("actualtime",current1.toString()); //it give me UTC+6 

감사합니다!

답변

0

Date.toString()은 항상 표준 시간대 출력을 반환합니다. returnTime 변수는 실제로 실제로 정확한 시간입니다. UTC를 인쇄하려면 SimpleDateFormat을 사용하십시오. 다음과 같은 것 :

SimpleDateFormat fmt = new SimpleDateFormat("yyy-MM-dd'T'HH:mm:ssZ"); 
fmt.setTimeZone(TimeZone.getTimeZone("UTC")); 
System.out.println("UTC time: " + fmt.format(current)); 
+0

감사합니다. @Femi –

+0

그래도 장치 시간을 사용합니다. 기기 시간을 변경하고 코드를 다시 테스트하십시오. – Dawit

관련 문제