2014-09-24 2 views
0

NSCalendar를 만들어 시간대를 PST로 설정하는 방법은 무엇입니까?NSCalendar를 PST 표준 시간대로 만들기

아이폰이 LA (PST) 또는 NYC (EST)에있는 경우 여전히 그렇습니까? 코드는 장치의 위치/시간대를 기준으로 조정됩니까? 당신이 currentCalendar를 사용하여 달력을 얻는 경우에

답변

0

첫째, 다음은 사용자의 현재 시간대에 대한 것입니다, 그래서 당신은 명시 적으로 달력의 시간대를 지정하는 경우, 그것은 예를 들어, 그 시간대가 있으므로됩니다

NSCalendar *cal = [NSCalendar currentCalendar]; 
NSTimeZone *zone = [NSTimeZone timeZoneWithName:@"US/Pacific"]; 
[cal setTimeZone:zone]; 

사용자의 현재 시간대가있는 달력을 원한다면 시간대 설정을 생략하십시오. 당신은 설정에서 사용자의 변화에 ​​응답하는 달력을 원하는 경우에

는, 당신은 autoUpdatingCurrentCalendar 수 :

NSCalendar *cal = [NSCalendar autoUpdatingCurrentCalendar]; 

난 당신이 무슨 뜻인지 모르겠어요 '아이폰은 다른 시간대에있는 경우' . 특정 시간대에 캘린더를받는 방법을 물었습니다. 해당 달력 인스턴스로 유지되는 시간대를 설정하면 달력이 사용자의 시간대를보고하도록하려면 currentCalendar 또는 autoUpdatingCurrentCalendar을 사용하고 시간대를 지정하지 마십시오.

+0

그래서 로스 앤젤레스에있는 사람이 오후 2시 5 분에 뉴욕에 있고 오후 5시 5 분에 다른 사람이 캘린더를 PST로 설정하면 내 서버에 쓸 때 두 시간 모두 오후 2시 5 분이 맞습니까? – cdub

+0

질문은 * 당신이 서버에 쓰고있는 질문입니다. 특정 시점 ('NSDate')은 궁극적으로 그것을 표현하기로 결정한 시간대와 상관없이 동일한 시점입니다. * NSDateFormatter를 사용하여 * 문자열 *로 변환하면 그 시점에서 시간대가 적용됩니다). – Petesh

+0

나는 4 시간 단위로 물건 그룹을 추적하기 위해 문자열로 바꾸고있다. – cdub