次のNSCalendar
メソッドを使用して、暦年の日数を取得しています。
NSRange range = [gregorian rangeOfUnit:NSDayCalendarUnit
inUnit:NSYearCalendarUnit
forDate:date];
365 または 366 (日)range.length
の型の戻り値を期待しています。NSRange
range.length
ただし、このコードはの31
日付値に対して を返します2005-06-06
。
コードの何が問題になっていますか?
これは完全なコード スニペットです。
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
[subArray enumerateObjectsUsingBlock:
^(NSDate *date, NSUInteger idx, BOOL *stop) {
NSUInteger numberOfDays = [gregorian ordinalityOfUnit:NSDayCalendarUnit
inUnit:NSYearCalendarUnit forDate:date];
}];