Question

Comment puis-je obtenir le nombre de jours en cours dans le mois en cours en utilisant NSDate ou quelque chose de similaire en contact Cocoa?

Était-ce utile?

La solution

Vous pouvez utiliser les classes NSDate et 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 est un objet NSDate représentant la date actuelle; cela peut être utilisé pour travailler le nombre de jours dans le mois en cours. Un objet NSCalendar est alors instancié, qui peut être utilisé, conjointement avec le NSDate pour la date actuelle, pour revenir le nombre de jours dans le mois en cours en utilisant la fonction rangeOfUnit:inUnit:forDate:.

days.length contiendra le nombre de jours dans le mois en cours.

Voici les liens vers la documentation pour NSDate et NSCalendar si vous voulez plus informations.

Autres conseils

Syntaxe Swift:

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

-[NSCalendar rangeOfUnit:inUnit:forDate:]

Swift 3 syntaxe a changé un peu de la réponse de Erez:

let cal = Calendar(identifier: .gregorian)
let monthRange = cal.range(of: .day, in: .month, for: Date())!
let daysInMonth = monthRange.count
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top