没有星期日的 UIDatePicker 最小日期

UIDatePicker minimum date with no sunday

如何设置UIDatePicker的最小日期为今天+5天,5天不包括星期日?

下面的代码首先检查当前工作日 (Gregorian calendar => Sunday=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;