Количество дней в текущем месяце с помощью iPhone SDK?


довольно прямой вопрос, я пытаюсь выяснить, как я могу получить текущее количество дней в текущем месяце с помощью NSDate или что-то подобное в Cocoa touch. Спасибо.

4 65

4 ответа:

можно использовать NSDate и NSCalendar классы:

NSDate *today = [NSDate date]; //Get a date object for today's date
NSCalendar *c = [NSCalendar currentCalendar];
NSRange days = [c rangeOfUnit:NSDayCalendarUnit 
                       inUnit:NSMonthCalendarUnit 
                      forDate:today];

today - это NSDate объект, представляющий текущую дату; это может быть использовано для расчета количества дней в текущем месяце. Ан NSCalendar затем создается экземпляр объекта, который можно использовать в сочетании с NSDate для текущей даты, чтобы вернуть количество дней в текущем месяце с помощью

синтаксис Swift:

let date = NSDate()
let cal = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)!
let days = cal.rangeOfUnit(.CalendarUnitDay, inUnit: .CalendarUnitMonth, forDate: date)

-[NSCalendar rangeOfUnit:inUnit:forDate:]

синтаксис Swift 3 немного изменился от ответа Эреза:

let cal = Calendar(identifier: .gregorian)
let monthRange = cal.range(of: .day, in: .month, for: Date())!
let daysInMonth = monthRange.count