NSDate 获取当前日期之后的N个工作日

来源:互联网 发布:明道软件电脑版下载 编辑:程序博客网 时间:2024/05/17 23:31

因工作需要,要获取当前日期之后的N个工作日日期,为此写了个分类,Mark一下,需要的小伙伴可以自行拿走,不用谢(转载请注明出处taoshu123zone)

//获取当前日期之后的N个工作日后的日期+ (NSDate *)nextWeekdays:(NSInteger)days{    if (days <= 0) {        return [NSDate date];    }    NSCalendar *calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierChinese];    NSDateComponents *comps = [[NSDateComponents alloc] init];    NSInteger unitFlags = NSCalendarUnitWeekday;    NSDate *today = [NSDate date];    comps = [calendar components:unitFlags fromDate:today];    NSInteger weekday = [comps weekday];    NSInteger m = (days/5) * 7;    NSInteger remainder = days % 5;    switch (weekday) {        case 1:            m = ((days- 1) / 5) * 7 + remainder;//周天            break;        case 2:case 3:case 5:case 6:case 7:        {           m += remainder + ((remainder + weekday - 2)/ 5) * 2;        }        default:            break;    }    return [today nextDay:m];}
//获取当前日期之后N天的日期- (NSDate *)nextDay:(NSInteger)day{    NSCalendar *calendar = [NSCalendar currentCalendar];    NSDateComponents *component = [[NSDateComponents alloc] init];    [component setDay:day];    return [calendar dateByAddingComponents:component toDate:self options:0];}
0 0
原创粉丝点击