program story

Android 애플리케이션에서 현재 시간대 가져 오기

inputbox 2020. 12. 27. 10:49
반응형

Android 애플리케이션에서 현재 시간대 가져 오기


이 질문에 이미 답변이 있습니다.

Android 애플리케이션에서 현재 시간대를 어떻게 알 수 있습니까? 나는 이것을 사용해 보았다

Calendar cal = Calendar.getInstance( userConfig.locale);
TimeZone tz = cal.getTimeZone();   

그러나 나는 그것으로부터 시간대를 얻지 못하고있다. 시간대를 어떻게 표시 할 수 있습니까?


이것을 사용하십시오

Calendar cal = Calendar.getInstance();
TimeZone tz = cal.getTimeZone();
Log.d("Time zone","="+tz.getDisplayName());

또는 java.util.TimeZone수업 을 사용할 수도 있습니다.

TimeZone.getDefault().getDisplayName()

String timezoneID = TimeZone.getDefault().getID();
System.out.println(timezoneID);

내 콘솔에서 인쇄됩니다. Asia/Calcutta

그리고 모든 날짜 형식, 나는 그것을 ....

SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy");
sdf2.setTimeZone(TimeZone.getTimeZone(timezoneID));

일광 절약 시간뿐만 아니라 수치를 포함하는 오프셋이 필요했습니다. 다음은 누군가가 예제를 찾는 경우에 사용한 코드입니다.

여름에 호주 NSW에서 기대할 수있는 "11"의 응답을 받았습니다. 마지막 줄이 필요하지 않도록 서버에 게시 할 수 있도록 문자열로도 필요했습니다.

TimeZone tz = TimeZone.getDefault();
Date now = new Date();
int offsetFromUtc = tz.getOffset(now.getTime()) / 3600000;
String m2tTimeZoneIs = Integer.toString(offsetFromUtc);

현재 시간을 표시하려면 UI 스레드에서 아래 코드 스 니펫을 실행해야합니다. 이것은 나를 위해 일했습니다.

Timer timer = new Timer();          
timer.schedule(new TimerTask() {          
    public void run() {      
        runOnUiThread(new Runnable(){      
            public void run() {      
                dateTxt.setText(new Date().toString());      
            }      
        });      
    }      
}, 0, 1000);

참조 URL : https://stackoverflow.com/questions/9482754/getting-the-current-time-zone-in-android-application

반응형