NSDateFormatter를 사용하여 iPhone 응용 프로그램에서 날짜를 설정하고 있으며 날짜가 올바르게 표시됩니다. 그러나, 모든 로케일 (내 애플 리케이션 최대 12 다른 언어를 지원하는) 찾기 setDateFormat 통해 지정한 날짜 형식을 고수하고있다. 이상적으로는, 내 형식을 따르는 대신 사용자의 지역 설정에 자연스럽게 나타나는 날짜 형식을 원합니다 (영어는 잘 작동하지만 다른 로케일은 자연스럽지 않을 수도 있음). 그래서 같이NSDateFormatter가 로캘 별 날짜를 표시하는 방법은 무엇입니까?
+ (NSString *)localizedStringFromDate:(NSDate *)date
dateStyle:(NSDateFormatterStyle)dateStyle
timeStyle:(NSDateFormatterStyle)timeStyle;
:
self.creationDate.text = [NSDateFormatter localizedStringFromDate:creationTimeStamp
dateStyle:NSDateFormatterMediumStyle
timeStyle:NSDateFormatterShortStyle];
당신에게 출력을 '제공한다
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; [dateFormatter setDateFormat:@"MMMM dd, yyyy kk:mm:ss"]; self.creationDate.text = [dateFormatter stringFromDate:creationTimeStamp];
-localizedStringFromDate에 의해 반환 된 문자열이 시간대 인수에 맞춰지기 때문에이 솔루션은 -localizedStringFromDate API를 사용하는 것보다 낫습니다. 일부 지역의 경우 날짜/시간이 관련되지 않을 수도 있습니다. 표준 시간대 구성 요소를 제거하려면이 작업을 추가로 수행해야합니다. [dateFormatter setTimeZone : [NSTimeZone timeZoneForSecondsFromGMT : 0]]; –