GMT 형식의 NSDate 개체를 현재 로캘/장치 설정이있는 날짜 형식으로 변환하려면 어떻게해야합니까?GMT 날짜 형식을 로캘 기반 형식으로 변환
예를 들어 장치가 미국 및 PDT 시간대에있는 경우 GMT 시간을 해당 PDT 시간으로 변환하려고합니다.
GMT 형식의 NSDate 개체를 현재 로캘/장치 설정이있는 날짜 형식으로 변환하려면 어떻게해야합니까?GMT 날짜 형식을 로캘 기반 형식으로 변환
예를 들어 장치가 미국 및 PDT 시간대에있는 경우 GMT 시간을 해당 PDT 시간으로 변환하려고합니다.
NSDate
방법 descriptionWithCalendarFormat:timeZone:locale:
을 적절한 시간대로 사용하십시오. description
메서드를 사용하는 경우 현재 시간대에서 날짜/시간을 가져옵니다 (따라서 장치가 PDT로 설정된 경우 시간은 PDT가됩니다).
NSDate
에는 시간대 개념이 전혀 없으므로 엄밀히 말하면 NSDate
을 다른 시간대로 변환 할 수 없습니다. NSDate
개체는 시간대에 관계없이 (절대) 시간의 단일 지점을 나타냅니다.
사용자에게 날짜를 표시하고자 할 때마다 NSDateFormatter
을 만들어야합니다. 기본적으로 사용자의 시간대에 시간이 자동으로 표시됩니다. 이것을 -[NSDateFormatter setTimeZone:]
으로 대체 할 수 있습니다.
확인. 알았다. 한 가지 질문 - 기기의 현재 시간대를 어떻게 알 수 있습니까? – Abhinav
'NSTimeZone'의'+ systemTimeZone','+ defaultTimeZone' 및'+ localTimeZone'을보십시오. –