2014-05-22 4 views
1

서버에서 일부 데이터를 가져 오는 중 데이터의 일부가 날짜입니다. 날짜는 UTC 형식입니다. getRelativeTimeSpanString을 사용하여 상대 시간으로 사용자에게 시간을 보여줍니다.UTC 시간을 장치의 현지 시간으로 변환하려면 어떻게해야합니까?

질문 어떻게 사용자 디바이스에 설정된 로컬 시간대로 UTC 시간을 변환 할 수 있습니다. 내가 서버에서 날짜를 받고 relativeTimeSpanString

Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH). 
            parse("2014-05-21 12:21:41"); 
Date currentDate = new Date(); 
CharSequence cs = DateUtils.getRelativeTimeSpanString(date.getTime(), currentDate.getTime(), DateUtils.SECOND_IN_MILLIS); 
+0

당신은 달력 클래스 http://developer.android.com/reference/java/util/Calendar.html –

답변

1

이런 식으로 뭔가를 시도 사용하고 방법

이입니다. 시간대를 고려하여 일광 절약 시간을 고려합니다.

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH); 
Date date = sdf.parse("2014-05-21 12:21:41"); 
TimeZone tz = TimeZone.getDefault(); 
int currentOffsetFromUTC = tz.getRawOffset() + (tz.inDaylightTime(date) ? tz.getDSTSavings() : 0); 
String result = sdf.format(date.getTime() + currentOffsetFromUTC); 
+0

살펴'무엇을 format.format'되어있을 수 있습니까? – Anthony

+0

죄송합니다. 그 길을 편집하십시오. – Squonk

+0

아, 나는'sdf.format'을 의미한다고 생각합니다. 그래서'date'에'getRelativeTimeSpanString'을 사용해야합니까? – Anthony

관련 문제