この投稿を見ました: iOS and Finding Tomorrow。
提供されるコードは次のとおりです。
units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents* comps = [[NSCalendar currentCalendar] components:units fromDate:[NSDate date]];
// Add one day
comps.day = comps.day+1; // no worries: even if it is the end of the month it will wrap to the next month, see doc
// Recompose a new date, without any time information (so this will be at midnight)
NSDate* tomorrowMidnight = [[NSCalendar currentCalendar] dateFromComponents:comps];
問題: たとえば、2013 年 6 月 21 日と 2013 年 5 月 21 日の差が 0 か月ではなく 1 か月になるように、現在の日付に 1 日追加する必要があります。
私が使用しているコード:
NSDate *selectedDate = [picker2 date];
unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit;
NSDateComponents *conversionInfo = [currCalendar components:unitFlags fromDate:selectedDate toDate:[NSDate date] options:0];
DLog(@"%i",conversionInfo.month);
DLog(@"%i",conversionInfo.day);
conversionInfo.day +=1;
DLog(@"%i",conversionInfo.day);
DLog(@"%i",conversionInfo.month);
int months = [conversionInfo month];
しかし、2013 年 6 月 21 日と 2013 年 5 月 21 日の差を取得しようとすると、1 か月ではなく 0 か月が返されます。
これについては助けが必要です。