Android 시스템 시간 제식 가 져 오기 (24 시간 제식 / 12 시간 제식) 및 UTC 와 로 컬 시간의 변환
5146 단어 android
1. 배경 / 사용 장면
일부 소프트웨어 에 서 는 시간 정 보 를 보 여 줘 야 할 수도 있 습 니 다. 이 정 보 는 서버 가 UTC 형식 이나 유 닉 스 timestamp 형식 으로 보 내 온 것 일 수도 있 습 니 다. 터미널 에 서 는 이 를 로 컬 시간 으로 바 꿔 보 여 줘 야 할 수도 있 습 니 다.
한편, 개인의 취향 에 따라 단말기 의 제식 은 12 시간 제 일 수도 있 고 24 시간 제 일 수도 있다. 소프트웨어 의 친화 도 를 위해 현재 시스템 의 시간 에 따라 제식, 동적 전환 제식 을 해 야 한다. 그러면 시스템 이 현재 설정 한 시간 제식 을 가 져 와 야 한다.
2. 획득 방법
ContentResolver cv = this.getContentResolver();
//
String strTimeFormat = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.TIME_12_24);
if(strTimeFormat.equals("24"))
{
Log.i("activity"," 24 ");
}
if(strTimeFormat.equals("12"))
{
Log.i("activity"," 12 ");
}
3. 어떻게 12 시간 제식 / 24 시간 제식 의 표현 방식 으로 전환 합 니까?
String getTimestamp()
{
// 24
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss sss");
Date date = new Date();
return df.format(date);
}
HH: 돌아 오 는 시간 은 24 시간 제 입 니 다.
hh: 12 시간 제 시간 으로 돌아 갑 니 다.
II, 시간 대
1. 기본 개념
시간 대:
time zone 1884 년 국제 경선 회의 규정 에 따 르 면 전 세 계 는 경도 에 따라 24 개 시간 대 로 나 뉘 는데 각 지역 은 각각 경도 15 도 를 차지한다.
본 초 자오선 을 중앙 경선 으로 하 는 시 구 는 0 시구 이 고 0 시구 에서 동, 서 로 는 각각 12 구 로 나 뉘 며 동, 서 12 구 는 모두 반 시구 로 180 ° 경선 을 공동으로 사용 하 는 지방 시 이다.
CST :
China Standard Time UTC + 8: 00 중국 표준 시간 (베 이 징 시간), 동 팔 구 에 있 습 니 다.
UTC :
Universal Time Coordinated 는 세계 조율 시간 으로 세계 표준 시간, 세계 통일 시간 이 라 고도 부른다.UTC 는 시간 대 와 무관 한 (또는 시간 대 에 특정 되 지 않 은) 시간 을 제공한다.
세계 의 모든 시간 대 는 UTC 에 편 이 량 을 더 하거나 빼 는 것 을 나 타 낼 수 있다.
따라서 UTC 는 베 이 징 은 오전 8 시 (동 8 구), UTC 시간 은 0 시 로 베 이 징 보다 8 시간 늦다.
GMT :
그리니치 메 인 타임 그리니치 표준 시간 은 영국 런던 교외 에 있 는 로 열 그리니치 천문대 의 표준 시간 을 말한다. 이 초 자오선 은 그곳 을 통과 하 는 경선 으로 정의 되 기 때문이다.
Unix timestamp :
유 닉 스 타임 스탬프 또는 유 닉 스 시간 (Unix time), POSIX 시간 (POSIX time) 이 라 고도 부 르 는 시간 표시 방식 입 니 다.
그리니치 시간 (UTC / GMT 의 자정) 인 1970 년 01 월 01 일 00 시 00 분 00 초부 터 지금까지 의 총 초 수로 정의 된다.
이렇게 말 할 수 있다.
UTC 와 GMT 는 거의 같은 개념 이 고 이들 의 차 이 는 GMT 는 천문학 적 개념 이 며 UTC 는 원자시 계 를 바탕 으로 한 다 는 것 이다.
GMT = UTC (정확히 말 하면 UTC = GMT + / - 0.9 s)
GMT + 8 = UTC + 8 = CST
UTC + 시간차 = 현지 시간 (시간차 동 은 플러스, 서 는 마이너스, 동 팔 구 는 + 0800)
2. UTC 와 GMT 로 컬 시간 대의 전환
서버 가 전송 하 는 UTC 시간 을 지정 한 시간 대로 변환 합 니 다. 예제 코드 는 다음 과 같 습 니 다.
로 컬 로 컬 시간 으로 전환 하면 로 컬 시간 대 를 직접 전달 하면 됩 니 다.
로 컬 시간 대 를 가 져 오 는 방법 은 TimeZone. getDefault () 입 니 다.
/* Server UTC */
public String converTime(String srcTime, TimeZone timezone)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat dspFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String convertTime;
Date result_date;
long result_time = 0;
// ,
if (null == srcTime)
{
result_time = System.currentTimeMillis();
}
else
{
// UTC
try
{
sdf.setTimeZone(TimeZone.getTimeZone("GMT00:00"));
result_date = sdf.parse(srcTime);
result_time = result_date.getTime();
}
catch (Exception e)
{
// ,
result_time = System.currentTimeMillis();
dspFmt.setTimeZone(TimeZone.getDefault());
convertTime = dspFmt.format(result_time);
return convertTime;
}
}
//
dspFmt.setTimeZone(timezone);
convertTime = dspFmt.format(result_time);
Log.e("current zone:", "id=" + sdf.getTimeZone().getID()
+ " name=" + sdf.getTimeZone().getDisplayName());
return convertTime;
}
3. 유 닉 스 timestamp 와 GMT 의 전환
상세 하 다
http://www.cnblogs.com/flying5/archive/2011/12/05/2276578.html #
네티즌 자료 참고:
http://blog.csdn.net/hgm770876501/article/details/8502364
http://blog.csdn.net/liu17ezlyy/article/details/8251731
http://www.cnblogs.com/flying5/archive/2011/12/05/2276578.html #
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.