Numero di giorni del mese corrente utilizzando iOS?
-
19-09-2019 - |
Domanda
Come posso ottenere l'attuale numero di giorni nel mese corrente utilizzando NSDate o qualcosa di simile in contatto Cocoa?
Soluzione
È possibile utilizzare le classi NSDate
e 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
Scopo NSDate
rappresenta la data corrente; questo può essere usato per calcolare il numero di giorni nel mese corrente. Un oggetto NSCalendar
viene poi istanziata, che può essere utilizzato, in combinazione con il NSDate
per la data corrente, restituire il numero dei giorni del mese corrente utilizzando la funzione rangeOfUnit:inUnit:forDate:
.
days.length
conterrà il numero di giorni nel mese corrente.
Ecco i link ai documenti per NSDate
e NSCalendar
se si vuole di più informazioni.
Altri suggerimenti
sintassi Swift:
let date = NSDate()
let cal = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)!
let days = cal.rangeOfUnit(.CalendarUnitDay, inUnit: .CalendarUnitMonth, forDate: date)
-[NSCalendar rangeOfUnit:inUnit:forDate:]
Swift 3 sintassi è cambiato un po 'dalla risposta di Erez:
let cal = Calendar(identifier: .gregorian)
let monthRange = cal.range(of: .day, in: .month, for: Date())!
let daysInMonth = monthRange.count