Número de días del mes en curso utilizando iOS?
-
19-09-2019 - |
Pregunta
¿Cómo puedo obtener el número actual de días del mes en curso utilizando NSDate o algo similar en contacto cacao?
Solución
Puede utilizar las clases NSDate
y 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
es un objeto NSDate
representa la fecha actual; esto puede ser usado para calcular el número de días del mes en curso. se crea una instancia entonces Un objeto NSCalendar
, que se puede utilizar, conjuntamente con el NSDate
para la fecha actual, para devolver el número de días en el mes actual usando la función rangeOfUnit:inUnit:forDate:
.
days.length
contendrá el número de días del mes en curso.
Aquí están los enlaces a la documentación para NSDate
y NSCalendar
si quieres más información.
Otros consejos
sintaxis Swift:
let date = NSDate()
let cal = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)!
let days = cal.rangeOfUnit(.CalendarUnitDay, inUnit: .CalendarUnitMonth, forDate: date)
-[NSCalendar rangeOfUnit:inUnit:forDate:]
Swift 3 sintaxis 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