2012-01-04 2 views
3

UIDatePicker를 세션의 앞부분에서 해당 날짜 선택 도구에서 나에게 반환 된 날짜로 초기화하려고합니다. 이것은 인벤토리 프로그램의 일환으로 인벤토리 항목에서 마지막으로 보정 된 날짜를 가져와야합니다.NSDateFormatter로 UIDatePicker 날짜를 설정하십시오.

내가 날짜/시간 문자열 수신이 코드를 사용 :

NSDate *choice = [pickedDate date]; 
calDate = [[NSString alloc] initWithFormat:@"%@", choice]; 

내가 calDate에 다음 문자열로 끝날 : 2011-11-11 21시 56분 38초 0000

나는를 다음 코드로 날짜 선택 도구를 설정하려고합니다 :

NSDate *date = [[[NSDate alloc] init] retain]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
NSLog(@"cal date = %[email protected]",drawingInfo.drawingDate); 
if([calDate length] != 0) { 
    date = [dateFormatter dateFromString:calDate]; 

    if(date != nil) { 
      [pickedDate setDate:date animated:NO]; 
    } 
} 

NSLog는 문자열이 여전히 유효하다는 것을 확인합니다. if (date! = nil)에 중단 점을 넣으면 date = nil이 표시됩니다.

미리 감사드립니다.

+0

pueden ayudarme 사기꾼 estan pregunta http://stackoverflow.com/questions/15162835/how-to-use-nsdateformatter-to-venezuela gracias – tony

답변

7

날짜 형식에 Z 형식 지정자가 없습니다.

이 코드 :

NSString *calDate = @"2011-11-11 21:56:38 +0000"; 
NSDate *date = [[[NSDate alloc] init] retain]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"]; 
//         right here ^

date = [dateFormatter dateFromString:calDate]; 

NSLog(@"date:%@", date); 

출력 :

2012-01-03 20:14:15.258 Craplet[38753:707] date:2011-11-11 21:56:38 +0000 

는 Z없이 :

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 

그것은 출력 :

2012-01-03 20:16:10.456 Craplet[38885:707] date:(null) 
형식은 날짜 문자열과 일치 할 수없는 경우

, 그것은 nil을 반환

관련 문제