2013-03-16 3 views
2

다음과 같은 날짜를 표시하고 싶습니다 : 평일 7 개월. 나는 이것을했고 올바른 구문을 가지고있다.NSDate 평일 및 월 언어 변경

NSDateFormatter* df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"EEEE dd MMMM"]; 
[df setTimeZone:[NSTimeZone localTimeZone]]; 

기록 된 결과는 다음과 같습니다 : Saturday 16 March. 나는 단지 영어 날짜가 아닌 프랑스어 날짜를 갖고 싶다. 현지 시간대를 설정하려고 시도하지만 아무 것도 변경하지 않습니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

답변

2

적절한 NSLocale 개체를 사용하여 날짜 포맷터의 로캘을 설정합니다.

또한 하드 코딩 된 날짜 형식을주의하십시오. 사용자는 해당 형식으로 날짜를보기 싫어하므로 먼저 +[NSDateFormatter dateFormatFromTemplate:options:locale:]을 통해 형식 문자열을 실행해야합니다. WWDC 2012 세션 "국제화 팁 & 트릭"에는 이에 대한 유용한 정보가있었습니다.

6

은 식별자를 사용하여 로케일을 초기화합니다. 당신은 내가 "fr_BI"@ 생각

[NSLocale availableLocaleIdentifiers]; 

에서 사용할 수있는 모든 ID를 얻을 수있는 프랑스 식별자 중 하나입니다

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"fr_BI"]; 
[dateFormatter setLocale:locale];