Какао получают первый день в неделю

Как получить первый день недели на свидание

это кажется более простым, поскольку:

когда неделя начинается с воскресенья, мне нужно вернуть дату воскресеньяесли он начинается в понедельник, мне нужно получить дату понедельника

дата ввода - любая дата в неделю со временем ... я попробовал несколько подходов, но крайний случай затрудняет

я сделал функцию, которая, однако, неработает на 100% (не уверен насчет [компонент setDay: -weekday + 2];)

- (NSDate *)firstDateOfWeek {

    NSCalendar * calendar = [NSCalendar currentCalendar];

    NSDateComponents *weekdayComponents = [calendar components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:self];
    // because sunday is 0, we need it to be 6
    NSInteger weekday = (([weekdayComponents weekday] + 6) % 7);

    NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:self];
    [components setDay: -weekday + 2];

    return [calendar dateFromComponents:components];

}

Ответы на вопрос(1)

Ваш ответ на вопрос