2014-02-13 3 views
0
date= Calendar.getInstance(); 
Date currentDate = date.getTime(); 
String sDate = currentDate.toString(); 

이렇게하면 EST가 반환됩니다. 애리조나에는 일광 절약 시간제가 없기 때문에 애리조나 시간으로 변경해야합니다. 변경 작업을 수행하는 데 시간이 얼마 남지 않았습니까? 또는 애리조나가 MST를 사용하는 경우 2 시간을, PST를 사용하는 경우 3 시간을 빼기 위해 달력을 쿼리해야합니까?getTime()으로 Arizona 시간 받기

답변

3

이렇게하면 EST가 반환됩니다.

음, Date.toString() 것입니다, 당신은 순간에 EST에서라면.

:. 그 시간에 그냥 인스턴트 시간대 또는 캘린더 시스템은에서 시작했다 수도에 상관 아이디어,이다

첫 두 줄을 더 간단하게 기록 할 것 - 그것은 Date에 저장된 데이터의 일부가 아니다

Date currentDate = new Date(); 

당신은 StringDate 변환하는 DateFormat를 사용해야합니다. 사용할 시간대를 지정할 수 있습니다. 이 아니기 때문에은 날짜를 직접 추가/제거하기 위해 산술 연산을 수행하기 시작합니다. 이는 잘못된 방향으로 향하고 있다는 신호입니다.

+0

저는 애리조나에 있으며 EST를 반환 중입니다. – Aaron

+0

@Aaron : 귀하의 장치 (또는 에뮬레이터)가 기본적으로 시간대를 제대로 알지 못함을 나타냅니다. 'TimeZone.getDefault(). getID()'를 로깅 해보십시오. –

+0

감사합니다. 에뮬레이터에서 내게 EST를 제공하고 있습니다. 그것을 보려고 생각조차하지 않았다. – Aaron