2010-03-08 3 views

답변

1

잘 모릅니다이 시점에서 전무을 받고이

NSString *tempDate = [NSString stringWithString:tempReviewData.pubDate]; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateStyle:NSDateFormatterLongStyle]; 
[dateFormatter setTimeStyle:NSDateFormatterNoStyle]; 
[dateFormatter setDateFormat:@"HH:mm a"]; 

NSDate *newDate = [dateFormatter dateFromString:tempReviewData.pubDate]; 

비슷하지만 tempReviewData.pubDate의 형식에 따라 달라집니다.

잘못된 형식 (예 : @"6:30 M")을 사용하면 null이 발생합니다.

노력하고 있습니다 :

출력
NSString *tempDate = [NSString stringWithString:@"6:30 PM"]; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateStyle:NSDateFormatterLongStyle]; 
[dateFormatter setTimeStyle:NSDateFormatterNoStyle]; 
[dateFormatter setDateFormat:@"HH:mm a"]; 

NSDate * newDate = [dateFormatter dateFromString:tempDate]; 
NSString * str = [dateFormatter stringFromDate:[NSDate date]]; 
NSLog(@"date: %@", newDate); 
NSLog(@"str: %@", str); 

:

2010-03-08 22:36:57.904 x[4340:903] date: 1970-01-01 12:30:00 +1000 
2010-03-08 22:36:57.905 x[4340:903] str: 22:36 PM 
1
NSDate *newDate = [dateFormatter dateFromString:tempReviewData.pubDate]; 

가있는 NSString 또는있는 NSDate를 반환 pubDate합니까?

문자열을 반환하는 경우 해당 속성의 이름을 변경하여 명확하게 나타내야합니다.

날짜를 반환하면 (NSDate) 문자열이 아니므로 문자열로 구문 분석하려고하면 작동하지 않습니다. 게다가, 당신은 당신이 이미 데이트 객체를 가지고 있기 때문에이 포맷터 코드를 모두 잘라낼 수 있습니다.

0

NSDateFormatter는 매우 까다롭게 보입니다.

-(void)dateFormatterTests { 
    NSDateFormatter *formatter; 

    formatter = [[NSDateFormatter alloc] init]; 

#ifdef WORKS 
    [formatter setDateFormat:@"yyyy-MM-dd"]; 
#elif defined(ALSO_WORKS) 
    [formatter setDateFormat:@"yyyy MM dd"]; 
    [formatter setLenient:YES]; 
#else // DOESN'T WORK 
    [formatter setDateFormat:@"yyyy MM dd"]; 
#endif 

    // Works per comments above 
    NSLog(@"dFS: %@", [formatter dateFromString:@"2010-01-13"]); 
    // Never works with any of the above formats 
    NSLog(@"dFS: %@", [formatter dateFromString:@"2010-01-13 22:00"]); 

    [formatter release]; formatter = nil; 
} 
관련 문제