[java] 안드로이드 모바일에서 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()


답변

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

나는 이란의 테헤란에서 겨울에는 “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);


답변

이 코드를 사용해보십시오

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

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


답변

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