2012-01-21 3 views
3

내가 Xcode의 시뮬레이터에서 멋진 설정을 발견 NSDateFormatter를 사용하는 날짜 인 현지 날짜은 여전히 ​​PST입니다. 나는이 문서에 따르면 태평양 시간대엑스 코드 4.2 위치 시뮬레이터와 시간대

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateStyle:NSDateFormatterMediumStyle]; // Jan 1, 2010 
[dateFormatter setTimeStyle:NSDateFormatterShortStyle]; // 1:43 PM 

NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
[dateFormatter setLocale:usLocale]; 
[usLocale release]; 

NSDate *testDate = [NSDate date]; 
NSLog(@"Local date: %@", [dateFormatter stringFromDate:testDate]); 

에서 오전, stringFromDate는 수신기 도쿄, 일본의 시간대를 사용해야 현재 설정을 사용해야합니다.

예상 되나요?

답변

0

Chech- 나는이 장치 (또는이 경우 귀하의 컴퓨터)가 아닌 위치에 의해 제어됩니다 생각합니다. settings-app에 설정이 있습니다. 그러나 위치에 따라 시간을 설정할 수는 있지만, 어떤 것이 바뀌어도 잘 모르겠지만 활성화하려고합니다.

일반적인 팁 : 항상 장치에서도 테스트 해보십시오. "시뮬레이트 위치"설정이 휴대 전화에서도 가능하다고 생각합니다.

편집 : 새 위치를 설정 한 후 [NSTimeZone resetTimeZone];을 호출하여 관련성이있는 답변을 보았습니다. 그러면 재설정이 시작되고 올바른 시간대가 표시됩니다. Ref : https://stackoverflow.com/a/5987409/267892

+0

1. 기기를 사용해 보았습니다. 위치 시뮬레이션 옵션을 사용할 수 없습니다. 그래서 나는 시뮬레이터를 시험 중이다. 2. dateFormatter의 timeZone 설정을 알고 있습니다. 내 질문은 단지 시뮬레이션 위치가 시간을 시뮬레이트해야한다는 것입니다. 디자인에 의한이 방식 (즉, 표준 시간대 부분을 시뮬레이트하지 않음) 또는 잘못된 것을 수행하고 있는지 확실하지 않았습니다. – mbh

+0

편집 된 답변을 참조하십시오. 그런 식으로되어 있는지 확실하지 않지만 이론적으로 위치 변경으로 인해 실제로 시간대 업데이트가 실행됩니다. – Emil