IT박스

안드로이드 모바일에서 TimeZone을 얻는 방법?

itboxs 2020. 7. 9. 19:33
반응형

안드로이드 모바일에서 TimeZone을 얻는 방법?


버튼을 클릭 할 때 Android 모바일에서 시간대를 가져오고 싶습니다.


당신이 사용하는 것을 시도했다 TimeZone.getDefault():

대부분의 응용 프로그램은 TimeZone.getDefault ()사용 하여 프로그램이 실행되는 시간대를 기준으로 TimeZone을 반환합니다.

참조 : http://developer.android.com/reference/java/util/TimeZone.html


TimeZone tz = TimeZone.getDefault();
System.out.println("TimeZone   "+tz.getDisplayName(false, TimeZone.SHORT)+" Timezon id :: " +tz.getID());

산출:

TimeZone GMT + 09 : 30 Timezon id :: 오스트레일리아 / 다윈


편집 : 사건 수정

TimeZone.getDefault()


이 코드를 사용해보십시오

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

사용자가 선택한 시간대를 반환합니다.


나는 일광 절약 시간뿐만 아니라 숫자 로 포함 된 오프셋필요했습니다 . 누군가가 예제를 찾고있는 경우에 사용한 코드는 다음과 같습니다.

나는 이란의 테헤란에서 겨울에는 "3.5"(3:30 ') , 여름에는 "4.5"(4:30') 로 응답 합니다.

또한 문자열로 필요하므로 서버에 게시 할 수 있으므로 마지막 줄이 필요하지 않을 수 있습니다.

정확한 시간대를 얻기 위해 :

TimeZone tz = TimeZone.getDefault();
Date now = new Date();
//Import part : x.0 for double number
double offsetFromUtc = tz.getOffset(now.getTime()) / 3600000.0;
String m2tTimeZoneIs = Double.parseDouble(offsetFromUtc);

TimeZone timeZone = TimeZone.getDefault(); 
timeZone.getID();

다음과 같이 인쇄됩니다

Asia/Kolkata

간단한 날짜 형식의 가장 간단한 솔루션 : SimpleDateFormat ( "ZZZZZ") :

 Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"),
                Locale.getDefault());
        Date currentLocalTime = calendar.getTime();

        DateFormat date = new SimpleDateFormat("ZZZZZ",Locale.getDefault());
        String localTime = date.format(currentLocalTime);
        System.out.println(localTime+ "  TimeZone   " );

==> 출력 : +05 : 30


http://developer.android.com/reference/android/text/format/Time.html 에 따르면 Time.getCurrentTimezone ()을 사용하여 장치의 현재 시간대를 검색해야합니다.


API 26 이상이 설치된 장치의 경우 다음과 같이 얻을 수 있습니다.

ZonedDateTime.now().getZone().toString();

참고 URL : https://stackoverflow.com/questions/7672597/how-to-get-timezone-from-android-mobile

반응형