NSCalendarで月末(月の最終日)を取得するには
Javaだったら、
みたいな感じ(そらで書いたので間違ってるかも)で取れる、当月の月末が何日かを取得する方法。
Calendar cal = Calendar.getInstance();
int max = cal.getMaximum(Calendar.DATE);
NSCalendar *cal = [NSCalendar currentCalendar];// 現在の月の最後を得る場合
NSDate *now = [NSDate date];// inUnit:で指定した単位(月)の中で、rangeOfUnit:で指定した単位(日)が取り得る範囲
NSRange range = [cal rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:now];NSInteger min = range.location;
// これが月末日
NSInteger max = rang.length;
現在じゃなくて指定した年月を指定するには、次のようにしてNSDateを作る。
NSDateComponents *comps = [[NSDateComponents allc] init];
// 2010/11を指定する場合
[comps setYear:2010];
[comps setMonth:11];NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *date = [cal dateFromComponents:comps];
[comps release];
慣れたらそんなに苦痛じゃない。