月の日数を取得する

指定した月が、何日まであるかを算出する方法。

int year = 2011;
int month = 4;

NSCalendar* cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy/MM/dd"];

NSDate* date = [dateFormatter dateFromString:
                  [NSString stringWithFormat:@"%4d/%02d/%02d",year,month,1]];
NSRange days = [cal rangeOfUnit:NSDayCalendarUnit
                         inUnit:NSMonthCalendarUnit
                        forDate:date];
int monthDayCount = days.length;

[dateFormatter release];
[cal release];


このmonthDayCountに当該月の日数が入ることになります。
かなり便利なので、良く使う。



※修正 2011/04/05