Какао получают первый день в неделю
Как получить первый день недели на свидание
это кажется более простым, поскольку:
когда неделя начинается с воскресенья, мне нужно вернуть дату воскресеньяесли он начинается в понедельник, мне нужно получить дату понедельникадата ввода - любая дата в неделю со временем ... я попробовал несколько подходов, но крайний случай затрудняет
я сделал функцию, которая, однако, неработает на 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];
}