Anzahl der Tage im aktuellen Monat mit iOS?
-
19-09-2019 - |
Frage
Wie kann ich die aktuelle Anzahl der Tage im aktuellen Monat mit NSDate oder etwas ähnliches in Cocoa Touch bekommen?
Lösung
Sie können die NSDate
und NSCalendar
Klassen 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 für das aktuelle Datum; Dies kann die Anzahl der Tage im aktuellen Monat zu arbeiten, verwendet werden. Ein NSCalendar
Objekt wird dann instanziiert, die mit dem NSDate
für das aktuelle Datum in Verbindung verwendet werden kann, um die Anzahl der Tage im aktuellen Monat mit der rangeOfUnit:inUnit:forDate:
Funktion zurückzukehren.
days.length
wird die Anzahl der Tage im aktuellen Monat enthält.
Hier sind die Links zu dem docs für NSDate
und NSCalendar
wenn Sie mehr wollen Informationen.
Andere Tipps
Swift Syntax:
let date = NSDate()
let cal = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)!
let days = cal.rangeOfUnit(.CalendarUnitDay, inUnit: .CalendarUnitMonth, forDate: date)
-[NSCalendar rangeOfUnit:inUnit:forDate:]
Swift 3 Syntax hat sich ein wenig von Erez Antwort geändert:
let cal = Calendar(identifier: .gregorian)
let monthRange = cal.range(of: .day, in: .month, for: Date())!
let daysInMonth = monthRange.count