2011-04-06 1 views
0

GMT 형식의 NSDate 개체를 현재 로캘/장치 설정이있는 날짜 형식으로 변환하려면 어떻게해야합니까?GMT 날짜 형식을 로캘 기반 형식으로 변환

예를 들어 장치가 미국 및 PDT 시간대에있는 경우 GMT 시간을 해당 PDT 시간으로 변환하려고합니다.

답변

0

NSDate 방법 descriptionWithCalendarFormat:timeZone:locale:을 적절한 시간대로 사용하십시오. description 메서드를 사용하는 경우 현재 시간대에서 날짜/시간을 가져옵니다 (따라서 장치가 PDT로 설정된 경우 시간은 PDT가됩니다).

1

NSDate에는 시간대 개념이 전혀 없으므로 엄밀히 말하면 NSDate을 다른 시간대로 변환 할 수 없습니다. NSDate 개체는 시간대에 관계없이 (절대) 시간의 단일 지점을 나타냅니다.

사용자에게 날짜를 표시하고자 할 때마다 NSDateFormatter을 만들어야합니다. 기본적으로 사용자의 시간대에 시간이 자동으로 표시됩니다. 이것을 -[NSDateFormatter setTimeZone:]으로 대체 할 수 있습니다.

+0

확인. 알았다. 한 가지 질문 - 기기의 현재 시간대를 어떻게 알 수 있습니까? – Abhinav

+0

'NSTimeZone'의'+ systemTimeZone','+ defaultTimeZone' 및'+ localTimeZone'을보십시오. –