NSDateFormatter
에 문제가 있습니다. 그것은 특정 날짜에 null
를 반환합니다.특정 날짜에 NSDateFormatter가 null을 반환합니다.
나는이 기능은 사건을 디버깅 할 않았다
- (void) debugTest:(NSString *)dateStr{
NSLog(@"String: %@", dateStr);
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd"];
NSDate *dateObj = [df dateFromString: dateStr];
NSLog(@"Date: %@", dateObj);
}
이 일부 날짜에 대한 내 로그 출력은 다음과 같습니다
String: 2012-10-18
Date: 2012-10-18 03:00:00 +0000
String: 2012-10-19
Date: 2012-10-19 03:00:00 +0000
String: 2012-10-20
Date: 2012-10-20 03:00:00 +0000
String: 2012-10-21
Date: (null)
String: 2012-10-22
Date: 2012-10-22 02:00:00 +0000
String: 2012-10-23
Date: 2012-10-23 02:00:00 +0000
이 왜 날짜 만 2012-10-21
에 null을 반환?
나는 2011-10-01 to 2014-11-01
에서 간격으로 다른 테스트를했고, 다음 날짜 null
반환
2011-10-16, 2012-10-21, 2013-10-20, 2014-10-19
이 버그의 어떤 종류가 있습니까? 내가 뭔가 잘못하고 있는거야?
내 날짜 포맷 [df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
및 [df setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
에 추가 :
관련 항목? http://stackoverflow.com/a/4265130/343955 – adarshr
나는 다른 질문의 해결책을 시도했지만 나를 위해 일하지 않았다. 나는 그 문제가 다르다고 생각한다. – Rafael
코드가 정상적으로 작동합니다. 그것은 목록 밖에있는 것입니다. 문자열이 범위를 벗어 났을 것으로 예상됩니다. 나머지 테스트 코드를 게시하십시오. – madmik3