2
NSDateFormatter를 사용하여 AD 및 BC 날짜를 구문 분석하는 방법과 구문 분석에 실패한 이유는 무엇입니까?NSDateFormatter BC/AD 날짜 문제
NSString *test1 = @"0000-01-01";
NSString *test2 = @"0001-01-01";
NSString *test3 = @"0002-01-01 AD";
NSString *test4 = @"0002-01-01 BC";
NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
[formatter1 setDateFormat: @"yyyy-MM-dd"];
NSLog(@"test 1 - %@", [formatter1 dateFromString: test1]);
NSLog(@"test 2 - %@", [formatter1 dateFromString: test2]);
NSDateFormatter *formatter2 = [[NSDateFormatter alloc] init];
[formatter2 setDateFormat: @"yyyy-MM-dd G"];
NSLog(@"test 3 - %@", [formatter2 dateFromString: test3]);
NSLog(@"test 4 - %@", [formatter2 dateFromString: test4]);
그리고 그것을 반환 무엇을 :
2012-11-26 11:24:27.536 Test[1968:c07] test 1 - (null)
2012-11-26 11:24:28.615 Test[1968:c07] test 2 - 0001-12-31 22:21:00 +0000
2012-11-26 11:24:37.604 Test[1968:c07] test 3 - 0001-12-31 22:21:00 +0000
2012-11-26 11:24:45.738 Test[1968:c07] test 4 - 0003-12-31 22:21:00 +0000
당신은 다른 변종에 대한 0000 날짜와 잘못된 날짜에 대해 null를 돌려 볼 수 있듯이.
** 0 번째 해는 없습니다. ** –
BC/AD 년은 어떨까요? 그들은 또한 잘못된 날짜를 반환합니다! –
날짜 포맷터로 설정된 포맷이 날짜 문자열의 포맷과 일치하지 않기 때문에. –