Я делаю календарь для практических целей, и я пытаюсь найти количество дней в конкретном месяце того или иного года.Код возвращает неправильное количество дней в календаре
Мне удавалось найти правильные значения до сегодняшнего дня, когда внезапно я не получаю правильное количество дней только за февраль. Раньше он работал нормально, и я не внес никаких изменений в свой код.
Мой код:
-(NSDate *)startOfMonth:(NSInteger)calendarMonth :(NSInteger)calendarYear
{
NSDate *date=[NSDate date];
NSCalendar * calendar = [NSCalendar currentCalendar];
NSDateComponents * comps = [calendar components: NSCalendarUnitYear | NSCalendarUnitMonth |NSCalendarUnitDay fromDate:date];
[comps setMonth:calendarMonth];
[comps setYear:calendarYear];
NSDate * monthOnlyDate = [calendar dateFromComponents:comps];
NSDateComponents * currentDateComponents = [calendar components: NSCalendarUnitYear | NSCalendarUnitMonth fromDate:monthOnlyDate ];
self.numberOfDays = [[NSCalendar currentCalendar] rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:monthOnlyDate].length ;
NSLog(@"NUMBER OF DAYS==%li",(long)self.numberOfDays);
NSDate * startOfAnyMonth = [calendar dateFromComponents: currentDateComponents];
NSDateFormatter *weekDay = [[NSDateFormatter alloc] init];
[weekDay setDateFormat:@"EEE"];
NSString * currentDay =[NSString stringWithFormat:@"%@",[weekDay stringFromDate:startOfAnyMonth]];
[self updateFirstDateOFCurrentMonth:currentDay];
return startOfAnyMonth;
}
Отлично, он сработал. Спасибо большое. И я начну использовать объявление метода с именем параметра. –
Я пытаюсь получить день за первый месяц, пройдя месяц и год. –