2015-02-19 2 views

ответ

1

Приведенный ниже код сначала проверяет текущий день недели (григорианский календарь => воскресенье = 1). Если сегодня на следующий день после вторника, то сегодня будет воскресенье + 5 дней (см. Расчет offset). После вычисления смещения он будет добавлен к текущей дате.

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDate *currentDate = [NSDate date]; 

NSDateComponents *components = [gregorian components:NSWeekdayCalendarUnit fromDate:currentDate]; 
int offset = (components.weekday >= 3) ? 6 : 5; 
NSDate *minDate = [gregorian dateByAddingUnit:NSDayCalendarUnit value:offset toDate:currentDate options:0]; 

//datePicker.minimumDate = minDate; 
+0

собирался опубликовать очень похожий ответ, но я считаю, что это должно быть components.weekday> = 3 С 3 == вторник –

+0

Полностью правильно, спасибо. – tilo

+0

Удивительный! Благодаря! – Zoomzoom

Смежные вопросы