2010-08-12 9 views
4

NSDateFormatter 만 사용하여 NSDate 객체에 날짜/시간의 문자열 표현을 포맷하려고합니다. 문제는 서수 접미사를 형식으로 허용하는 방법을 알 수 없다는 것입니다.NSDateFormatter NSString NSDdate에 접미사가 붙은 NSString

그래서 내가 문자열 "8월 (수요일) 11 2010 오후 8시"

어떤 한 줄에있는 NSDate dateFormat는 사용해야합니까이 있다고 할 수 있습니다?

"EEEE, MMM dd'th 'yyyy h : mm a"처럼 작동하지만,'th '로 끝나는 서문 일에만 작동합니다. 단, 첫 번째, 2, 3, 4th 5th 등

이렇게하려면 형식 문자열에 와일드 카드 문자처럼 보입니다. 나는 몇 가지를 시도했다 : % *?

+1

이 질문보기 : http://stackoverflow.com/questions/1283045/ordord-month-day-suffix-option-for-nsdateformatter-setdateformat – Wevah

+0

그 반대의 경우입니다. NSDate를 NSString으로 변환하려면 NSString을 NSDate에 사용해야합니다. – psy

+0

일반적으로 NSDateFormatter는 요일을 포함하는 날짜를 구문 분석하려고하면 혼란 스럽습니다. 그걸 제거하고 남은 부분을 파싱하는 것이 가장 좋습니다. –

답변

3

이것은 분명 NSDateFormatter에서는 불가능합니다.

+1

나는 "st," "nd", "rd", "th" 문자'' "'를 사용하여 날짜 서식을 통해 보내지 만 상황을 조금 더 어렵게 만들지 만 와일드 카드 문자가 없으므로 실제로는 유일한 방법입니다. – rwyland

-1

당신은 너무 같은 NSDateFormatter를 사용하려면 :

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];  
[dateFormatter setDateStyle: NSDateFormatterLongStyle]; 
NSDate *date = [dateFormatter dateFromString:dateString]; 
[dateFormatter release]; 

어느 NSDateFormatterLongStyle 또는 NSDateFormatterFullStyle 당신에게 당신이 찾고있는 결과를 얻을 수 있습니다.

+0

사용자 정의 문자열 포맷터를 전달하려고하며 SDK가 제공하는 것을 사용하지 않습니다. – psy

+1

문서에 따르면 날짜 스타일을 설정해도 도움이되지 않습니다. "1st", "2nd"등을 지원하는 스타일은 볼 수 없습니다. 긴 스타일은 단지 "1937 년 11 월 23 일"을주고, 그는 23 번째를 원한다. – occulus