문자열에서 날짜의 서식을 지정하려고합니다. 나는 이렇게 할 수있다 :NSDate 비정상적인 동작 지정
NSString *str = @"Fri, 13 Jan 2012 12:25:49 +0000";
NSLog(@"String: %@", str);
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"eee, dd MMM yyyy HH:mm:ss ZZZZ"];
NSDate *datefrom = [df dateFromString:str];
NSLog(@"NSDate: %@", datefrom);
[df setDateFormat:@"dd/MM/yyyy"];
str = [df stringFromDate:datefrom];
NSLog(@"Formated String: %@", str);
그러나 나는 다른 날짜를 형식화 할 수 있기를 원하기 때문에 쓸모가 없다. 나는이 작업을 수행 할 때 그래서 :
NSString *str = [[stories objectAtIndex:0] objectForKey:@"date"];
NSLog(@"String: %@", str);
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"eee, dd MMM yyyy HH:mm:ss ZZZZ"];
NSDate *datefrom = [df dateFromString:str];
NSLog(@"NSDate: %@", datefrom);
[df setDateFormat:@"dd/MM/yyyy"];
str = [df stringFromDate:datefrom];
NSLog(@"String Formatada: %@", str);
그것은 단순히 작동하지 않습니다. 나는 [[stories objectAtIndex : 0] objectForKey : @ "date"]에 대한 결과를 확인했으며 정확히 같은 문자열을 @ "Fri, 13 Jan 2012 12:25:49 +0000"
비교했습니다. 내가 그들을 잘못 읽지 않았는지 확인해. 저는 여기에 비교하는 데 사용되는 코드입니다 :
if ([[[stories objectAtIndex:0] objectForKey:@"date"] isEqualToString:@"Fri, 13 Jan 2012 12:25:49 +0000"]) {
NSLog(@"They are the same");
}
else NSLog(@"They are NOT the same");
하지만 난 항상 "그들은 동일하지 않습니다"얻을 수 있기 때문에 동일하지 않는 것 그들이 시각적으로 정확히 같은 있는데도 출력, 등. 어떤 생각?
당신이 실제로 무엇을 NSLog 문에서 얻고있는 값 무슨 말을하십시오. NSDate 개체를 인쇄하고 서식을 지정할 것으로 예상됩니다. NSDateFormatter는 형식화 된 문자열을 생성 (또는 읽습니다.)하지만 NSDate의 'decription'형식 (NSDate를 직접 기록 할 때 얻는 것이며 진단 덤프 전용입니다)은 변경되지 않습니다. –
NSCFString –
당신은'NSLog (@ "Class : % @", [[[storyArtIndex : 0] objectForKey : @ "date"] class]); 위의 진술 중 어느 부분을 기록 했는가 ??? (요소 "date"가 설정되어있는 곳은 절대 표시하지 않으며 NSDate를 추출하는 소스로 해당 요소의 값을 사용하지만 날짜 형식을 지정하면 결과를 표시하지 않습니다.) –