안드로이드 모바일에서 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 :: 오스트레일리아 / 다윈
편집 : 사건 수정
이 코드를 사용해보십시오
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
'IT박스' 카테고리의 다른 글
UIScrollView에서 스크롤 표시기를 숨기는 방법이 있습니까? (0) | 2020.07.09 |
---|---|
문자열이 완전히 동일한 하위 문자열로 구성되어 있는지 어떻게 확인합니까? (0) | 2020.07.09 |
“git branch -r”에 원격 브랜치가 나타나지 않음 (0) | 2020.07.09 |
TextReader 대신 문자열에서 역 직렬화 (0) | 2020.07.09 |
문자열 리소스 파일의 형식 문 (0) | 2020.07.09 |