2009-07-24 17 views

Respuesta

159

Puede utilizar los NSDate y NSCalendar clases:

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 es un objeto NSDate representa la fecha actual; esto se puede usar para calcular el número de días en el mes actual. A continuación, se crea una instancia de un objeto NSCalendar, que se puede utilizar, junto con el NSDate para la fecha actual, para devolver el número de días en el mes actual mediante la función rangeOfUnit:inUnit:forDate:.

days.length contendrá la cantidad de días en el mes actual.

Aquí están los enlaces a los documentos para NSDate y NSCalendar si desea más información.

+0

Parece que esto va a hacer el truco. Gracias :) –

+0

Creo que quisiste decirFecha: hoy –

+0

Sí lo hice, lo siento, lo llamé 'date' cuando lo estaba probando en Xcode. –

4

-[NSCalendar rangeOfUnit:inUnit:forDate:]

9

sintaxis Swift:

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

sintaxis Swift 3 ha cambiado un poco de la respuesta de Erez:

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