Wie kann ich mit NSDate oder ähnlichem in Cocoa touch die aktuelle Anzahl der Tage im aktuellen Monat ermitteln?
Wie kann ich mit NSDate oder ähnlichem in Cocoa touch die aktuelle Anzahl der Tage im aktuellen Monat ermitteln?
Antworten:
Sie können die Klassen NSDate
und NSCalendar
verwenden:
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
ist ein NSDate
Objekt, das das aktuelle Datum darstellt; Dies kann verwendet werden, um die Anzahl der Tage im aktuellen Monat zu berechnen. NSCalendar
Anschließend wird ein Objekt instanziiert, das in Verbindung mit dem NSDate
für das aktuelle Datum verwendet werden kann, um mithilfe der rangeOfUnit:inUnit:forDate:
Funktion die Anzahl der Tage im aktuellen Monat zurückzugeben .
days.length
enthält die Anzahl der Tage im aktuellen Monat.
Hier sind die Links zu den Dokumenten für NSDate
und NSCalendar
wenn Sie weitere Informationen wünschen.
date
als ich es in Xcode getestet habe.
-[NSCalendar rangeOfUnit:inUnit:forDate:]
Die Swift 3-Syntax hat sich gegenüber Erez 'Antwort etwas geändert:
let cal = Calendar(identifier: .gregorian)
let monthRange = cal.range(of: .day, in: .month, for: Date())!
let daysInMonth = monthRange.count