NSDate – Ermitteln des Wochentages mit nur einer Zeile Code (ohne NSDateFormatter!)
Problem: Arbeitet man mit NSDate-Objekten muss man immer wieder diverse Spezifikationen eines Datums ermitteln. Eines der (von mir) oft genutzen attribute ist der Wochentag (weekday).
In den meisten Foren/Blogs ist der vorgeschlagene Lösungsansatz:
- Nutze NSDateFormatter, generiere dir einen NSString aus einem Datum und fange mit einer IF/ELSE Orgie das zurcükgelieferte kürzel ab.
Bei sowas stellen sich mir die Nackenhaare auf!
Lösung: Das ganze lässt sich auch sehr elegant über nur eine Zeile abbilden:
int myWeekday = [[[NSCalendar currentCalendar] components:NSWeekdayCalendarUnit fromDate:myNsDateObject] weekday]; NSLog(@"myWeekday: %i", myWeekday); // Sunday returns 0
Wichtig ist, wie ich auch schon im Code kommentiert habe, dass Sonntag 0 zurückliefert. Nicht Montag!
Ich hoffe euch gefällt der Einzeiler so gut wie mir

Letzte Kommentare