获取当前月份有多少天以及获取日期各个组成部分

  1. 获取当前月份有多少天
NSCalendar *calendar = [NSCalendarcurrentCalendar];  
NSRange range = [calendarrangeOfUnit:NSDayCalendarUnitinUnit:NSMonthCalendarUnitforDate:[NSDatedate]];  
NSUInteger numberOfDaysInMonth = range.length;  

numberOfDaysInMonth 即为当月的天数。
更多用法查看NSCalendar, NSDateComponents帮助文档

  1. 获取当前年份和月份和天数
NSCalendar *calendar = [NSCalendar currentCalendar];  
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;  
NSDateComponents *components = [calendar components:unitFlags fromDate:[NSDate date]];  
NSInteger iCurYear = [components year];  //当前的年份  
NSInteger iCurMonth = [components month];  //当前的月份  
NSInteger iCurDay = [components day];  // 当前的号数