UIDatePicker没有星期日的最短日期

时间:2015-02-19 17:57:02

标签: ios nsdate uidatepicker

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

1 个答案:

答案 0 :(得分: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;