2011-02-04 5 views
7

내 데이터 소스에서 제공되는 문자열은 다음과 같이 포맷 : 난 후 인터넷을 검색 한NSDateFormatter dateFromString

2011-04-11 23시 12분 5초

// dateString comes from my data source, and look like I've said like this. 
dateString = @"2011-04-11 23:12:05"; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"MMMM"]; 

NSDate *date = [formatter dateFromString:dateString]; 

이러한 스레드는 항상 dateString이 잘못된 형식이라는 해답을 갖고 있습니다. 하지만 내 dateString은 올바른 것 중 하나입니다, 그렇죠?

왜 날짜가 nil을 반환합니까?

답변

17

@"MMMM"의 날짜 형식 문자열은 구문 분석하려는 문자열이 한 달의 전체 이름 ("January", "October"등)임을 의미합니다.

yyyy-MM-dd HH:mm:ss 

체크 아웃 추가 정보를위한 date formatting patterns :

당신은 더 뭔가를 원한다.

+0

나는 내 * dateString에서 전체 월 이름을 가진 NSString을 가지고 있다고 언급 했어야합니다. –

+0

dateFromString은 문자열이 아닌 NSDate를 생성합니다. – xyzzycoder

+0

제 생각에 문자열을 날짜로 변환하면 줄이 달 이름 (문자열)으로 변환됩니다. 그러나 나는 첫 번째 단계를 지나갈 수 없다. 나랑있어? –

1
// set norwegian locale 
    dateFormatter.locale=[[NSLocale alloc] initWithLocaleIdentifier:@"no_NO"];; 

    [email protected]"MMMM"; 
    NSString * monthString = [[dateFormatter stringFromDate:date] capitalizedString]; 
    NSLog(@"month: %@", monthString); 

이것은 노르웨이의 예입니다. 귀하의 언어로 "se_SE"가되어야합니다