Objective-C :: Aufgabe #42

1 Lösung Lösung öffentlich

Bei Addition von Tage nur Werktage beachten

Anfänger - Objective-C von Gustl - 22.07.2013 um 11:04 Uhr
Schreibe ein Programm welches die Anzahl der addierenden Tage abfrägt und dann das Datum ausgibt.
Bei der Addition der Tage sollen aber nur die Werktage (Geschäftstage): Montag, Dienstag, Mittwoch, Donnerstag und Freitag beachtet werden.

Beispiel: Heute ist der 22.07. (Montag), wenn ich nun 7 Tage eingebe soll der 31.07. (Mittwoch) ausgegeben werden.

Lösungen:

vote_ok
von e2cerhan (60 Punkte) - 08.11.2013 um 13:16 Uhr
Quellcode ausblenden C-Code
- (IBAction)performClick:(id)sender {
    
    if (sender == self.berechnen)
    {
        if (self.display)
        {
            self.value1 = [self.display.stringValue integerValue];
            
            NSDate * actualDay = [NSDate date];
            NSDate *newDate = [actualDay dateByAddingTimeInterval:60*60*24*self.value1];
            NSString *newDateWithoutTime = [[newDate dateWithCalendarFormat:@"%d.%m.%Y" timeZone:nil] description];
            NSString *weekdayName = [newDate descriptionWithCalendarFormat:@"%A" timeZone:[NSTimeZone localTimeZone] locale:nil];
            
            if ([weekdayName isEqual: @"Saturday"])
            {
                NSDate *newDate2 = [newDate dateByAddingTimeInterval:60*60*24* +2];
                NSString *newDateWithoutTime2 = [[newDate2 dateWithCalendarFormat:@"%d.%m.%Y" timeZone:nil] description];
                NSString *weekdayName2 = [newDate2 descriptionWithCalendarFormat:@"%A" timeZone:[NSTimeZone localTimeZone] locale:nil];
                self.display.stringValue = [NSString stringWithFormat:@"%@ - %@", weekdayName2, newDateWithoutTime2];
            }
            
            else if ([weekdayName isEqual: @"Sunday"])
            {
                NSDate *newDate3 = [newDate dateByAddingTimeInterval:60*60*24* +1];
                NSString *newDateWithoutTime3 = [[newDate3 dateWithCalendarFormat:@"%d.%m.%Y" timeZone:nil] description];
                NSString *weekdayName3 = [NSString stringWithFormat:@"Monday"];
                self.display.stringValue = [NSString stringWithFormat:@"%@ - %@", weekdayName3, newDateWithoutTime3];
                self.display.stringValue = @"";
                
            }
            
            else
            {
                self.display.stringValue = [NSString stringWithFormat:@"%@ - %@", weekdayName, newDateWithoutTime];
            }
        }
    }
2108842

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.