Ich brauchte für ein Projekt die Tage der aktuellen Kalenderwoche und mache das so
Alles anzeigen
es funktioniert für meine Zwecke, wollte mal hören es eine einfachere Methode gibt?
Quellcode
- // Ermittlung Wochentagszähler aus aktuellem Datum
- NSInteger wochentagszaehler = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:[NSDate date]];
- // Korrekturzähler für Ermittlung Montag
- NSInteger korrektur = 0;
- switch (wochentagszaehler) {
- case 1: // Sonnatg
- korrektur = -6;
- break;
- case 2: // Montag
- korrektur = 0;
- break;
- case 3: // Dienstag
- korrektur = -1;
- break;
- case 4: // Mittwoch
- korrektur = -2;
- break;
- case 5: // Donnerstag
- korrektur = -3;
- break;
- case 6: // Freitag
- korrektur = -4;
- break;
- case 7: // Samstag
- korrektur = -5;
- break;
- }
- NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
- [dateFormatter setDateFormat:@"yyyy-MM-dd"];
- // Ermittlung Wochenbeginn zu aktuellem Datum
- NSDate *wochenbeginn = [[NSDate date] dateByAddingTimeInterval:60*60*24*korrektur];
- // Ermittlung der Wochentage aus dem aktuellem Datum
- for (int a=0; a<7; a++) {
- NSDate *aktuellerTag = [wochenbeginn dateByAddingTimeInterval:60*60*24*a];
- NSLog(@"%@", [dateFormatter stringFromDate:aktuellerTag]);
- }