方法一:使用系统api
NSInteger days = [self.calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:startDate].length;
方法二,C语言模式
//通过年月求每月天数
- (NSInteger)DaysfromYear:(NSInteger)year andMonth:(NSInteger)month
{
NSInteger num_year = year;
NSInteger num_month = month;
BOOL isrunNian = num_year%4==0 ? (num_year%100==0? (num_year%400==0?YES:NO):YES):NO;
switch (num_month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:{
return 31;
}
break;
case 4:
case 6:
case 9:
case 11:{
return 30;
}
break;
case 2:{
if (isrunNian) {
return 29;
}else{
return 28;
}
}
break;
default:
break;
}
return 0;
}