【发布时间】:2015-02-19 17:57:01
【问题描述】:
如何将 UIDatePicker 的最小日期设置为今天 + 5 天,这 5 天不包括星期日?
【问题讨论】:
标签: ios nsdate uidatepicker
如何将 UIDatePicker 的最小日期设置为今天 + 5 天,这 5 天不包括星期日?
【问题讨论】:
标签: ios nsdate uidatepicker
下面的代码首先检查当前工作日(公历 => 星期日=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;
【讨论】:
dateByAddingComponents:toDate:options: