Вычисление конца месяца или его последней секунды

У меня самая простая задача, которую я не могу понять, как правильно ее решить. С помощью приведенного ниже фрагмента я могу узнать начало месяца.

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 для до января, верно?

Тогда как мне добраться до последней секунды месяца?

5
задан jscs 5 June 2011 в 22:10
поделиться