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 NSDateund NSCalendarverwenden:
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];
todayist ein NSDateObjekt, das das aktuelle Datum darstellt; Dies kann verwendet werden, um die Anzahl der Tage im aktuellen Monat zu berechnen. NSCalendarAnschließend wird ein Objekt instanziiert, das in Verbindung mit dem NSDatefü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 NSDateund NSCalendarwenn Sie weitere Informationen wünschen.
dateals 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