Anzahl der Tage im aktuellen Monat mit iOS?

69

Wie kann ich mit NSDate oder ähnlichem in Cocoa touch die aktuelle Anzahl der Tage im aktuellen Monat ermitteln?

Brock Woolf
quelle

Antworten:

165

Sie können die Klassen NSDateund NSCalendarverwenden:

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.

Alex Rozanski
quelle
Ich denke, Sie meinten für Datum: heute
Jorge Israel Peña
Ja, ich habe es leider angerufen, dateals ich es in Xcode getestet habe.
Alex Rozanski
1
@ Moshe. Ja. Dies kann den Bereich jeder Kalendereinheit in jeder größeren Kalendereinheit berechnen.
Rob Napier
NSCalendar * calendar = [NSCalendar autoupdatingCurrentCalendar]; könnte besser für Sie sein als nur [NSCalendar currentCalendar]
coolcool1994
11

Schnelle Syntax:

Erez Haim
quelle
5

-[NSCalendar rangeOfUnit:inUnit:forDate:]

Rob Napier
quelle
5

Die Swift 3-Syntax hat sich gegenüber Erez 'Antwort etwas geändert:

Josh Sherick
quelle