У меня самая простая задача, которую я не могу понять, как правильно ее решить. С помощью приведенного ниже фрагмента я могу узнать начало месяца.
NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *beginning = nil;
[cal rangeOfUnit:NSMonthCalendarUnit startDate:&beginning interval:NULL forDate:self];
return beginning;
Теперь я хочу определить конец того же месяца (последняя секунда в 23:59:59 подошла бы для моих целей). Моя первая мысль заключалась в том, чтобы начать в первый день следующего месяца и вычесть второй. Но я не мог разбить дату в экземпляре NSDateComponent на [dateComponents setMonth: [dateComponents month] + 1]
, потому что в случае декабря этот метод не принял бы 12 + 1 = 13 для до января, верно?
Тогда как мне добраться до последней секунды месяца?