다음 코드를 사용하여 월 (5)을 전체 이름 (5 월)으로 변환하려고합니다. 그러나 설정을 MM에서 MMMM으로 변경하면 null이 반환됩니다. 왜 이런거야?날짜 월을 정식으로 변환하려고 시도하면 (null)
NSDate *date = [birthday getDate];
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:date];
NSInteger year = [components year];
if (year == 1604) {
NSString *monthNumberString = [NSString stringWithFormat:@"%d", [components month]];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMMM"];
NSDate *date = [formatter dateFromString:monthNumberString];
NSString *stringFromDate = [formatter stringFromDate:date];
NSString *monthDay = [NSString stringWithFormat:@"%@, %d", stringFromDate, [components day]];
cell.birthdayLabel.text = monthDay;
} else {
...
}
'MM'과 호환됩니까? – Undo
예, MM은 "05"를 5 월에 반환합니다 ... – samiles
DateFormatter는 5 월을 예상하고 5를 전달하므로 작동하지 않습니다. 형식이 MM이면 형식 기는 5를 기대합니다. – Anupdas