2012-04-27 2 views
0

NSDateFormatter를 사용하여 문자열을 날짜로 변환하고 있습니다. 그러나 반환 된 날짜는 nil입니다. 문제가 발생한 것은 하드 코드 된 문자열뿐입니다. stringFromDate :를 사용하고이 NSString을 NSDate로 변환하면 괜찮습니다.NSDateFormatter가 문자열을 날짜로 변환하지 않습니다.

하드 코딩 날짜 :
2012-30-22T10 : 30 : 19 + 0530
dateFromString :
2012-04-27T10 : 20 : 43 + 0530

제가 에 차이를 볼 수

날짜 형식.

코드 :

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZ"]; 

NSString *string = [dateFormatter stringFromDate:[NSDate date]]; 
NSLog(@"string %@", string); 

로그 : ~ 문자열 2012-04-27T10 : 20 : + 0530 43

NSDate *date = [dateFormatter dateFromString:string]; 
NSLog(@"date %@", date); 

로그 : ~ 날짜 2012-04-27 4시 50분 : 43 +0000

지금까지 그렇게 좋았습니다. 내 문자열에서 날짜가 반환됩니다. 그러나 나는 나 자신을 입력 한 날짜 ...

NSString *string2 = @"2012-30-22T10:30:19+0530"; 
NSLog(@"string2 %@", string2); 

로그 사용하려고하면 ~ 날짜 2012-04-27 4시 50분 43초 0000

//Here comes the problem. 
NSDate *date2 = [dateFormatter dateFromString:string2]; 
NSLog(@"date 2 %@", date2); 

로그를 : ~ 날짜 2 (null)

다른 날짜가 아닌 경우이 날짜가 null 인 이유는 무엇입니까?

+0

은 한 달에 30 개가 입력 된 문자열에 오타가 있다는 것을 나타 냅니까? 그것이 30 번째 달을 모르기 때문에 그것을 망쳐 놓고 있을지도 모른다. –

+0

나는 그것이 있어야한다고 생각한다. 나는 나 자신을 발견하지 못했다고 나는 믿을 수 없다. 실제로 나는이 문자열을 수동으로 입력하지 않았습니다. 서버에서 가져옵니다. 나는 서버가 망가 졌다고 생각한다. 답으로 게시하고 올바른 것으로 표시하겠습니다. – SEG

+0

감사합니다. btw! :-) – SEG

답변

0

은 월간 30 자의 자기 입력 문자열에 오타가 있습니까? 그것이 30 번째 달을 모르기 때문에 그것을 망쳐 놓고 있을지도 모른다. 자신의 유효한 날짜를 입력 해보십시오.

관련 문제